Skip to main content
aboutsummaryrefslogblamecommitdiffstats
blob: ce2e6bd207bc0fd3dfe4b04668928827e02ad3a0 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
                 
                                            
                                                
 






                                                               
















                                                                                                                                 
                                                                        




                         












                                                  
                                  




                                 
apply plugin: 'c'
apply from: "$rootDir/gradle/publish.gradle"
apply from: "$rootDir/gradle/etGenerator.gradle"

def models = [
	'model/PInterrupt.room',
	'model/TcpService.room',
	'model/TimingService.room'
]

createGeneratorTask('generate', 'c', models, 'src-gen', '-lib')

model {
	components {
		etrice_modellib_c(NativeLibrarySpec) {
			sources.c {
				builtBy generate
				source {
					srcDirs = ['src-gen']
					include '**/*.c'
				}
				exportedHeaders {
					srcDirs = ['src-gen']
				}
				lib project: ':runtime:org.eclipse.etrice.runtime.c', library: 'etrice_runtime_c', linkage: 'api'
			}
			binaries {
				withType(SharedLibraryBinarySpec) { buildable = false }
				all { cCompiler.args '-g3', '-std=c99' }
			}
		}
	}
}

clean.delete 'src-gen'

task zipModellib(type: Zip, dependsOn: generate) {
    archiveName = project.name + "-${version}.zip"
    destinationDir = buildDir
    from projectDir
	include 'src-gen/**', 'model/**/*.room'
	includeEmptyDirs false
}
build.dependsOn zipModellib

publishing {
    publications {
        etrice(MavenPublication) {
            artifact zipModellib
        }
    }
	repositories publishRepos
}

Back to the top