diff --git a/de.prob.core/META-INF/MANIFEST.MF b/de.prob.core/META-INF/MANIFEST.MF index e1cf9ef6e6d4630ea3dbbbc24da03219d65c3db5..b68f1d0afc2a00b39086b6c5c55bff7f6296a9c2 100644 --- a/de.prob.core/META-INF/MANIFEST.MF +++ b/de.prob.core/META-INF/MANIFEST.MF @@ -115,17 +115,17 @@ Bundle-Activator: de.prob.core.internal.Activator Eclipse-BuddyPolicy: registered Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ClassPath: ., - lib/dependencies/answerparser-2.4.8-SNAPSHOT.jar, - lib/dependencies/bparser-2.4.8-SNAPSHOT.jar, - lib/dependencies/cliparser-2.4.8-SNAPSHOT.jar, + lib/dependencies/answerparser-2.4.12-SNAPSHOT.jar, + lib/dependencies/bparser-2.4.12-SNAPSHOT.jar, + lib/dependencies/cliparser-2.4.12-SNAPSHOT.jar, + lib/dependencies/commons-codec-1.6.jar, lib/dependencies/commons-lang-2.6.jar, lib/dependencies/jgrapht-0.8.3.jar, lib/dependencies/jsr305-1.3.9.jar, - lib/dependencies/ltlparser-2.4.8-SNAPSHOT.jar, - lib/dependencies/parserbase-2.4.8-SNAPSHOT.jar, - lib/dependencies/prologlib-2.4.8-SNAPSHOT.jar, - lib/dependencies/unicode-2.4.8-SNAPSHOT.jar, - lib/dependencies/commons-codec-1.6.jar, + lib/dependencies/ltlparser-2.4.12-SNAPSHOT.jar, + lib/dependencies/parserbase-2.4.12-SNAPSHOT.jar, + lib/dependencies/prologlib-2.4.12-SNAPSHOT.jar, + lib/dependencies/unicode-2.4.12-SNAPSHOT.jar, lib/dependencies/xmlpull-1.1.3.1.jar, lib/dependencies/xpp3_min-1.1.4c.jar, lib/dependencies/xstream-1.4.3.jar diff --git a/tycho_build.gradle b/tycho_build.gradle index 6ecc2f2214b82fd47e6a3cbd62cdc5b634b9009c..0bba9992b36ce437e7ce78d9b2ad8d561140d1ca 100644 --- a/tycho_build.gradle +++ b/tycho_build.gradle @@ -13,20 +13,32 @@ apply plugin: 'base' import groovy.io.FileType -tychoVersion = "0.14.1" +project.ext.tychoVersion = "0.15.0" + +try{ + excludeFromTychoBuild = excludeFromTychoBuild +}catch(MissingPropertyException e){ + project.ext.excludeFromTychoBuild = [] +} + +try{ + excludeFromClassPath = excludeFromClassPath +}catch(MissingPropertyException e){ + project.ext.excludeFromClassPath = [] +} try{ workspacePath = workspacePath }catch(MissingPropertyException e){ - workspacePath = "" + project.ext.workspacePath = "" } try{ dependencyFolder = dependencyFolder }catch(MissingPropertyException e){ - dependencyFolder = "lib/dependencies/" // Folder in each subproject where + project.ext.dependencyFolder = "lib/dependencies/" // Folder in each subproject where } try{ @@ -47,8 +59,8 @@ try{ } - groupID = "group" - for( i = 0; i < folderNames.size(); i++ ){ + project.ext.groupID = "group" + for( int i = 0; i < folderNames.size(); i++ ){ if( folderNames[i] ==~ /.*\.[rR]eleng/ ){ groupID = folderNames[i] @@ -64,8 +76,8 @@ try{ features = features }catch(MissingPropertyException e){ - features = [] - for( i = 0; i < subprojects.name.size(); i++ ){ + project.ext.features = [] + for( int i = 0; i < subprojects.name.size(); i++ ){ if( subprojects.name[i] ==~ /.*\.[fF]eature/ ){ features.add( subprojects.name[i] ) } @@ -77,13 +89,13 @@ try{ try{ repositoryName = repositoryName }catch(MissingPropertyException e){ - repositoryName = groupID+".repository" + project.ext.repositoryName = groupID+".repository" } try{ parentID = parentID }catch(MissingPropertyException e){ - parentID = groupID+".parent" + project.ext.parentID = groupID+".parent" } Boolean noDescriptions = false // in case of using own CategoryDescription Map @@ -91,21 +103,21 @@ Boolean noDescriptions = false // in case of using own CategoryDescription M try{ categoryDescriptions = categoryDescriptions }catch(MissingPropertyException e){ - categoryDescriptions = [ [:],[:] ] // label and descriptions of the features + project.ext.categoryDescriptions = [ [:],[:] ] // label and descriptions of the features noDescriptions = true } // categoryDescriptions = [["feature": "labelName","feature2": "label"],["feature": "featureDescription","feature2": "feature2Description"]] // label and descriptions of the features try{ targetRepositories = targetRepositories }catch(MissingPropertyException e){ - targetRepositories = ["http://download.eclipse.org/releases/indigo/"] + project.ext.targetRepositories = ["http://download.eclipse.org/releases/indigo/"] } try{ buildProduct = buildProduct }catch(MissingPropertyException e){ - buildProduct = false + project.ext.buildProduct = false } @@ -307,6 +319,7 @@ subprojects { task collectDependencies(type: Copy) { from configurations.compile + from configurations.runtime into "${dependencyFolder}" @@ -315,32 +328,32 @@ subprojects { task setClassPath(dependsOn: 'collectDependencies')<<{ description = "\tAdds all your Dependencies from your local lib folder in each project to it's classpath" - //if(project.name ==~ /birkhoff.bundle.*/){ - def dependencyList = [] - try{ - def dir = new File(workspacePath+project.name+"/"+dependencyFolder).eachFile() { file-> - if( !(file.getName() ==~/.*\.txt/) ){ - dependencyList << file.getName() + if( excludeFromClassPath.every{ it != project.name }){ + def dependencyList = [] + try{ + def dir = new File(workspacePath+project.name+"/"+dependencyFolder).eachFile() { file-> + if( !(file.getName() ==~/.*\.txt/) ){ + dependencyList << file.getName() + } } - } - if(features.every{ it != project.name }){ - boolean BundleClassPathPresent = checkForRunTimeLibs(project.name) - for(int icp = 0; icp < dependencyList.size; icp++){ - addLibToCP(project.name, dependencyList[icp]) //Adds Lib to .classPath file + if(features.every{ it != project.name }){ + boolean BundleClassPathPresent = checkForRunTimeLibs(project.name) + for(int icp = 0; icp < dependencyList.size; icp++){ + addLibToCP(project.name, dependencyList[icp]) //Adds Lib to .classPath file - if(!BundleClassPathPresent){ // Adds Lib to Manifest File - createRunTimeLib(dependencyList[icp], project.name) - BundleClassPathPresent = true - }else{ - if(!checkRunTimeLib(dependencyList[icp], project.name)){ // if library not present add it to RunTimeLibrary - addRunTimeLib( dependencyList[icp], project.name) + if(!BundleClassPathPresent){ // Adds Lib to Manifest File + createRunTimeLib(dependencyList[icp], project.name) + BundleClassPathPresent = true + }else{ + if(!checkRunTimeLib(dependencyList[icp], project.name)){ // if library not present add it to RunTimeLibrary + addRunTimeLib( dependencyList[icp], project.name) + } } } - } - /*dependencyList.each{ dep-> + /*dependencyList.each{ dep-> println project.name+": "+ dep // could still be usefull for debugging, that's why it's not deleted - }*/ + }*/ } def warningReadMe = new File(workspacePath+project.name+"/"+dependencyFolder+"_README.txt") warningReadMe.delete() @@ -349,10 +362,10 @@ subprojects { warningReadMe << "If any error concerning missing dependencies should occur please run 'gradle deleteFromClassPath setClassPath' in your workspace folder from your shell." - }catch(Exception e){ - println project.name+" has no dependencies in '${dependencyFolder}' defined: Classpath will not be changed" - } - //}// if projectAbfrage + }catch(Exception e){ + println project.name+" has no dependencies in '${dependencyFolder}' defined: Classpath will not be changed" + } + }// if exclude projectAbfrage }// setClassPath @@ -399,9 +412,9 @@ subprojects { if(features.every{ it != project.name }){ // Generating Poms for sub projects except features - content = new File(workspacePath+"${project.name}/META-INF/MANIFEST.MF").getText("UTF-8") + def content = new File(workspacePath+"${project.name}/META-INF/MANIFEST.MF").getText("UTF-8") - printFileLine = { + def printFileLine = { if( it ==~ /Bundle-Version.+qualifier/ ){ versionNumber = it.substring(16) // possibile error: cuts off first 16 chars @@ -490,7 +503,11 @@ task createParent() << { f << endRepos() f << moduleStart() for(int i = 0; i < numberOfProjects(); i++){ - f << module(projects(i)) + + if( excludeFromTychoBuild.every{ it != projects(i) } ){ + + f << module(projects(i)) + } } f << module(repositoryName) f << endParent() @@ -556,6 +573,11 @@ task completeInstall(dependsOn: [subprojects.collectDependencies, createPoms], t commandLine 'mvn', 'install', '-f', workspacePath+parentID+'/pom.xml' } +task tycho(dependsOn: [createPoms] , type:Exec) { + description = "\tExecutes a 'mvn install' of the parent pom.xml and auto-generates Tycho Poms" + commandLine 'mvn', 'install', '-f', workspacePath+parentID+'/pom.xml' +} + //--- Defining Tycho POM parts --//