Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2014
420
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 2.17 KB | None | 0 0
  1. --/build.gradle
  2.  
  3. apply from: 'defaults.gradle'
  4. defaultTasks 'clean', 'build'
  5.  
  6. --/defaults.gradle
  7.  
  8. defaultTasks 'build'
  9.  
  10. repositories {
  11.     mavenCentral()
  12. }
  13.  
  14. def getAllDependentProjects(project) {
  15.     if ( !project.configurations.hasProperty("runtime") ) {
  16.         return []
  17.     }
  18.     def projectDependencies = project.configurations.runtime.getAllDependencies().withType(ProjectDependency)
  19.     def dependentProjects = projectDependencies*.dependencyProject
  20.     if (dependentProjects.size > 0) {
  21.         dependentProjects.each { dependentProjects += getAllDependentProjects(it) }
  22.     }
  23.     return dependentProjects.unique()
  24. }
  25. gradle.projectsEvaluated {
  26.     if (plugins.hasPlugin('ear')) {
  27.         def deployProjectDependencies = configurations.deploy.getAllDependencies().withType(ProjectDependency)*.dependencyProject
  28.         deployProjectDependencies.each {
  29.             def cur = it
  30.             def cur_deps = getAllDependentProjects(cur)
  31.             def depJars = []
  32.             deployProjectDependencies.each {
  33.                 def search = it
  34.                 if ( cur_deps.contains(search)) {
  35.                     depJars += search.jar.archiveName
  36.                 }
  37.             }
  38.             depJars = depJars.unique()
  39.             if ( depJars.size() > 0 ) {
  40.                 logger.info("META-INF Dependencies for deploy dependency " + cur.name + ": " + depJars)
  41.                 cur.jar.manifest.attributes(
  42.                     'Class-Path': depJars.join(' ')
  43.                 )
  44.             }
  45.         }
  46.     }
  47. }
  48.  
  49.  
  50.  
  51. --/settings.gradle
  52.  
  53. include 'common-ejb'
  54. include 'project1'
  55. include 'project1-ejb'
  56. include 'logging'
  57.  
  58. --/logging/build.gradle
  59.  
  60. apply from: '../defaults.gradle'
  61.  
  62. apply plugin: 'java'
  63.  
  64. dependencies {
  65.     compile 'log4j:log4j:1.2.+'
  66. }
  67.  
  68. --/common-ejb/build.gradle
  69.  
  70. apply from: '../defaults.gradle'
  71.  
  72. apply plugin: 'java'
  73.  
  74. dependencies {
  75.     compile 'javax:javaee-api:6.0'
  76.  
  77.     compile project(':logging')
  78. }
  79.  
  80. --/project1-ejb/build.gradle
  81.  
  82. apply from: '../defaults.gradle'
  83.  
  84. apply plugin: 'java'
  85.  
  86. dependencies {
  87.     compile 'javax:javaee-api:6.0'
  88.  
  89.     compile project(':common-ejb')
  90.     compile project(':logging')
  91. }
  92.  
  93. --/project1/build.gradle
  94.  
  95. apply from: '../defaults.gradle'
  96.  
  97. apply plugin: 'ear'
  98. apply plugin: 'java'
  99.  
  100. dependencies {
  101.     deploy project(':project1-ejb')
  102.     deploy project(':common-ejb')
  103.  
  104.     earlib project(':logging')
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement