Skip to content

Commit

Permalink
Export 4diac FORTE Core Includes with Full Source Directory
Browse files Browse the repository at this point in the history
In order to allow the number of inlcude directory options core includes
are now exported with their full 4diac FORTE source directory.
  • Loading branch information
azoitl committed Feb 28, 2025
1 parent 824ef2c commit ad2745f
Show file tree
Hide file tree
Showing 12 changed files with 42 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ abstract class ForteNgExportTemplate extends ExportTemplate {
«FOR include : types.map[generateDefiningInclude].toSet.sort»
«include.generateDependencyInclude»
«ENDFOR»
«generateDependencyInclude("iec61131_functions.h")»
«generateDependencyInclude("forte_array_common.h")»
«generateDependencyInclude("forte_array.h")»
«generateDependencyInclude("forte_array_fixed.h")»
«generateDependencyInclude("forte_array_variable.h")»
«generateDependencyInclude("core/iec61131_functions.h")»
«generateDependencyInclude("core/datatypes/forte_array_common.h")»
«generateDependencyInclude("core/datatypes/forte_array.h")»
«generateDependencyInclude("core/datatypes/forte_array_fixed.h")»
«generateDependencyInclude("core/datatypes/forte_array_variable.h")»
'''

def protected generateDependencyInclude(String path) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ class AdapterFBHeaderTemplate extends ForteFBTemplate<AdapterType> {
'''
override protected generateHeaderIncludes() '''
«generateDependencyInclude("adapter.h"
«generateDependencyInclude("typelib.h"
«generateDependencyInclude("core/adapter.h"
«generateDependencyInclude("core/typelib.h"
«super.generateHeaderIncludes»
'''
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class BasicFBHeaderTemplate extends BaseFBHeaderTemplate<BasicFBType> {
«generateStates»
'''

override generateClassInclude() '''«generateDependencyInclude("basicfb.h")»'''
override generateClassInclude() '''«generateDependencyInclude("core/basicfb.h")»'''

def protected generateStates() '''
«FOR state : type.ECC.ECState AFTER '\n'»
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ class CompositeFBHeaderTemplate extends ForteFBTemplate<CompositeFBType> {
'''
override protected CharSequence generateHeaderIncludes() '''
«generateDependencyInclude("cfb.h"
«generateDependencyInclude("typelib.h"
«generateDependencyInclude("core/cfb.h"
«generateDependencyInclude("core/typelib.h"
«super.generateHeaderIncludes»
'''
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class FunctionFBHeaderTemplate extends FunctionFBTemplate {
'''
override protected generateHeaderIncludes() '''
«generateDependencyInclude("funcbloc.h"
«generateDependencyInclude("core/funcbloc.h"
«super.generateHeaderIncludes»
'''
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class LanguageImplTemplate extends ForteNgExportTemplate {
#include "«fileBasename»_gen.cpp"
#endif

«generateDependencyInclude("iec61131_functions.h")»
«generateDependencyInclude("core/iec61131_functions.h")»
«IF languageSupport !== null»«languageSupport.getDependencies(emptyMap).generateDependencyIncludes»«ENDIF»
'''

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class ServiceInterfaceFBHeaderTemplate extends ForteFBTemplate<ServiceInterfaceF
'''
override protected generateHeaderIncludes() '''
«generateDependencyInclude("funcbloc.h"
«generateDependencyInclude("core/funcbloc.h"
«super.generateHeaderIncludes»
'''
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class SimpleFBHeaderTemplate extends BaseFBHeaderTemplate<SimpleFBType> {
super(type, name, prefix, "CSimpleFB", options)
}

override generateClassInclude() '''«generateDependencyInclude("simplefb.h")»'''
override generateClassInclude() '''«generateDependencyInclude("core/simplefb.h")»'''

override generateAdditionalDeclarations() '''
«generateStates»
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ class StructuredTypeHeaderTemplate extends StructBaseTemplate {
'''
def protected generateHeaderIncludes() '''
«generateDependencyInclude("forte_struct.h"
«generateDependencyInclude("core/datatypes/forte_struct.h"

«getDependencies(#{ForteNgExportFilter.OPTION_HEADER -> Boolean.TRUE}).generateDependencyIncludes»

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ final class ForteNgExportUtil {
def static String generateDefiningInclude(Resource resource) {
resource.contents.filter(LibraryElement)?.head?.generateTypeIncludePath ?:
'''«resource.URI.trimFileExtension.lastSegment».h'''
}
}

def static String generateTypeIncludePath(INamedElement type) {
switch (path : type.generateTypePath) {
Expand Down Expand Up @@ -189,6 +189,8 @@ final class ForteNgExportUtil {

def static String generateTypePath(INamedElement type) {
switch (type) {
DataType case !(type instanceof AnyDerivedType):
"core/datatypes"
LibraryElement:
type.compilerInfo?.packageName?.replace("::", "/") ?: ""
default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,12 @@ class ForteNgBasicFBTest extends ExporterTestBasicFBTypeBase {
#pragma once
#include "basicfb.h"
#include "iec61131_functions.h"
#include "forte_array_common.h"
#include "forte_array.h"
#include "forte_array_fixed.h"
#include "forte_array_variable.h"
#include "core/basicfb.h"
#include "core/iec61131_functions.h"
#include "core/datatypes/forte_array_common.h"
#include "core/datatypes/forte_array.h"
#include "core/datatypes/forte_array_fixed.h"
#include "core/datatypes/forte_array_variable.h"
class «EXPORTED_FUNCTIONBLOCK_NAME» final : public CBasicFB {
DECLARE_FIRMWARE_FB(«EXPORTED_FUNCTIONBLOCK_NAME»)
Expand Down Expand Up @@ -116,13 +116,13 @@ class ForteNgBasicFBTest extends ExporterTestBasicFBTypeBase {
#include "«ExporterTestBase.BASICFUNCTIONBLOCK_NAME»_fbt_gen.cpp"
#endif
#include "forte_dword.h"
#include "forte_sint.h"
#include "iec61131_functions.h"
#include "forte_array_common.h"
#include "forte_array.h"
#include "forte_array_fixed.h"
#include "forte_array_variable.h"
#include "core/datatypes/forte_dword.h"
#include "core/datatypes/forte_sint.h"
#include "core/iec61131_functions.h"
#include "core/datatypes/forte_array_common.h"
#include "core/datatypes/forte_array.h"
#include "core/datatypes/forte_array_fixed.h"
#include "core/datatypes/forte_array_variable.h"
DEFINE_FIRMWARE_FB(«EXPORTED_FUNCTIONBLOCK_NAME», g_nStringId«ExporterTestBase.BASICFUNCTIONBLOCK_NAME»)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -240,12 +240,12 @@ class ForteNgTest extends ExporterTestBasicFBTypeBase {
#pragma once
#include "basicfb.h"
#include "iec61131_functions.h"
#include "forte_array_common.h"
#include "forte_array.h"
#include "forte_array_fixed.h"
#include "forte_array_variable.h"
#include "core/basicfb.h"
#include "core/iec61131_functions.h"
#include "core/datatypes/forte_array_common.h"
#include "core/datatypes/forte_array.h"
#include "core/datatypes/forte_array_fixed.h"
#include "core/datatypes/forte_array_variable.h"
class «EXPORTED_FUNCTIONBLOCK_NAME» final : public CBasicFB {
DECLARE_FIRMWARE_FB(«EXPORTED_FUNCTIONBLOCK_NAME»)
Expand Down Expand Up @@ -301,11 +301,11 @@ class ForteNgTest extends ExporterTestBasicFBTypeBase {
#include "«ExporterTestBase.BASICFUNCTIONBLOCK_NAME»_fbt_gen.cpp"
#endif
#include "iec61131_functions.h"
#include "forte_array_common.h"
#include "forte_array.h"
#include "forte_array_fixed.h"
#include "forte_array_variable.h"
#include "core/iec61131_functions.h"
#include "core/datatypes/forte_array_common.h"
#include "core/datatypes/forte_array.h"
#include "core/datatypes/forte_array_fixed.h"
#include "core/datatypes/forte_array_variable.h"
DEFINE_FIRMWARE_FB(«EXPORTED_FUNCTIONBLOCK_NAME», g_nStringIdfunctionblock)
Expand Down

0 comments on commit ad2745f

Please sign in to comment.