0

zip と war ファイルを作成する gradle スクリプトを作成し、それをアーティファクトにアップロード/公開する必要がありますが、アーティファクト タスクで war ファイルを指定した後でもすべてをアーティファクト zip に公開するという問題があります。 warファイルだけでなく、tarとwar。

apply plugin: 'war'
apply plugin: 'java'
apply plugin: 'distribution'

//-- set the group for publishing
group = 'com.xxx.discovery'

/**
 * Initializing GAVC settings
 */
def buildProperties = new Properties()
file("version.properties").withInputStream { 
    stream -> buildProperties.load(stream) 
} 
//add the jenkins build version to the version
def env = System.getenv()
if (env["BUILD_NUMBER"]) buildProperties.coveryadBuildVersion += "_${env["BUILD_NUMBER"]}"
version = buildProperties.coveryadBuildVersion
println "${version}"

//name is set in the settings.gradle file
group = "com.aaa.covery"
version = buildProperties.discoveryadBuildVersion
println "Building ${project.group}:${project.name}:${project.version}"

  repositories {
    maven {
      url "http://cxxxxt.tshaaaaa.tho.com:9000/artifactory/libselease"
    }
    maven {
      url "http://cxxxxt.tshaaa.tho.com:9000/artifactory/cache"
    }
  }

dependencies {
    compile ([
    "com.uters.omni:HermesSessionAPI:1.2",
    "com.uters.proxy:ProxyResources:1.1",
    "com.uters.omni:SeshataDirectory:1.0.1" ,
    "com.euters.omni:CybeleInfrastructure:1.1.2",
    "com.euters:JSONBus:1.4.1",
    "javaee:javaee-api:5"
    ])
}

distributions {
  main { 
    contents { 
      from {
        war.outputs
        }
      }
  }
}

// for publishing to artifactory
artifacts {
  archives war
}
4

1 に答える 1

0

gradleディストリビューションプラグインのドキュメントによると:

「src/$distribution.name/dist」ディレクトリ内のすべてのファイルは、ディストリビューションに自動的に含まれます。

また、

ディストリビューション プラグインは、デフォルトのパブリッシング アーティファクトの候補としてディストリビューション アーカイブを追加します。

つまり、デフォルトではすべてのファイルが公開されるため、発生している動作はこれで説明できます。

この動作を回避するためにおそらくできることは、不要なファイルを明示的に除外してcontents copySpecをより正確に定義することです。つまり、次のようになります。

distributions {
  main { 
    contents { 
      exclude('**/.zip')
      exclude('**/.tar')
      from {
        war.outputs
      }
    }
  }
}

ただし、上記を自分で試していないことに注意してください。そのため、微調整が必​​要になる場合があります。ただし、ドキュメントで必要なデータを見つけることができると思いますCopySpec Interface

于 2015-04-17T07:31:12.253 に答える