plugins {id 'java'id 'maven-publish'id 'java-gradle-plugin'id 'com.gradle.plugin-publish' version '1.1.0'id 'io.codearte.nexus-staging' version '0.21.2'id 'eclipse'id 'de.undercouch.download' version '5.0.4'id 'signing'}repositories {mavenLocal()mavenCentral()maven {url 'https://plugins.gradle.org/m2/'}}gradlePlugin {website = 'http://github.com/fvarrui/JavaPackager'vcsUrl = 'http://github.com/fvarrui/JavaPackager.git'description = 'Packages Java applications as native Windows, MacOS or GNU/Linux executables and creates installers for them'plugins {create("javaPackagerPlugin") {id = 'io.github.fvarrui.javapackager.plugin'displayName = 'JavaPackager'implementationClass = 'io.github.fvarrui.javapackager.gradle.PackagePlugin'tags.set(['java', 'packager', 'gradle-plugin', 'maven-plugin', 'native', 'installer', 'debian-packages', 'rpm-packages', 'dmg', 'maven', 'gradle', 'distribution', 'javapackager', 'linux-executables', 'deb', 'rpm', 'native-windows', 'java-applications', 'pkg', 'msi'])}}}configurations {mavenEmbedder}dependencies {implementation 'org.apache.maven:maven-plugin-api:3.6.0'implementation 'org.codehaus.plexus:plexus-utils:3.5.1'implementation 'org.twdata.maven:mojo-executor:2.3.0'implementation 'commons-io:commons-io:2.16.1'implementation 'org.apache.commons:commons-lang3:3.9'implementation 'org.apache.commons:commons-collections4:4.3'implementation 'org.apache.commons:commons-compress:1.21'implementation 'org.apache.velocity:velocity-engine-core:2.3'implementation 'org.vafer:jdeb:1.9'implementation 'net.jsign:jsign-core:6.0'implementation 'org.redline-rpm:redline:1.2.10'implementation 'edu.sc.seis.launch4j:launch4j:3.0.5'testImplementation 'junit:junit:4.13.1'compileOnly 'org.apache.maven.plugin-tools:maven-plugin-annotations:3.6.0'mavenEmbedder 'org.apache.maven:maven-embedder:3.6.0'mavenEmbedder 'org.apache.maven:maven-compat:3.6.0'mavenEmbedder 'org.slf4j:slf4j-simple:1.7.30'mavenEmbedder 'org.eclipse.aether:aether-connector-basic:1.1.0'mavenEmbedder 'org.eclipse.aether:aether-transport-wagon:1.1.0'mavenEmbedder 'org.apache.maven.wagon:wagon-http:3.4.1'mavenEmbedder 'org.apache.maven.wagon:wagon-provider-api:3.4.1'}group = 'io.github.fvarrui'version = '1.7.6'description = 'Hybrid Maven/Gradle plugin to package Java applications as native Windows, Mac OS X or GNU/Linux executables and create installers for them'sourceCompatibility = JavaVersion.VERSION_1_8targetCompatibility = JavaVersion.VERSION_1_8compileJava.options.encoding = 'UTF-8'// suppress javadoc warningsjavadoc.options.addStringOption('Xdoclint:none', '-quiet')java {withSourcesJar()withJavadocJar()}// OSSRH publicationpublishing {repositories {maven {def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/"def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots"name = "OSSRH"url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrlcredentials {username = project.findProperty("ossrhUsername") ?: ''password = project.findProperty("ossrhPassword") ?: ''}}}publications {pluginMaven(MavenPublication) {def directory = buildDir.canonicalPathdef outputDirectory = compileJava.destinationDirectory.asFile.get().canonicalPathpom.withXml {asNode().appendNode('build').with {appendNode('directory', directory)appendNode('outputDirectory', outputDirectory)}asNode().appendNode('repositories').appendNode('repository').with {appendNode('id', 'gradle')appendNode('name', 'Gradle Plugin Portal')appendNode('url', 'https://plugins.gradle.org/m2/')}}pom {name = project.namegroupId = project.groupartifactId = project.namepackaging = 'maven-plugin'}}}afterEvaluate {publications {withType(MavenPublication) {// customize all publications herepom {version = project.versiondescription = project.descriptionurl = 'https://github.com/fvarrui/JavaPackager'scm {connection = 'scm:git:git://github.com/fvarrui/JavaPackager.git'developerConnection = 'scm:git:git@github.com:fvarrui/fvarrui.git'url = 'https://github.com/fvarrui/JavaPackager'}licenses {license {name = 'GPL-v3.0'url = 'http://www.gnu.org/licenses/gpl-3.0.txt'distribution = 'repo'}}developers {developer {id = 'fvarrui'name = 'Francisco Vargas Ruiz'url = 'https://github.com/fvarrui'}}}}}}}// runs the plugin description generatortasks.register('generatePluginDescriptor', JavaExec) {dependsOn compileJavadef pluginDescriptorFile = new File(project.compileJava.destinationDirectory.asFile.get(), 'META-INF/maven/plugin.xml')// FIXME: this does not seem to be workinginputs.files project.compileJava.outputs.filesoutputs.file pluginDescriptorFileclasspath = configurations.mavenEmbeddermainClass = 'org.apache.maven.cli.MavenCli'systemProperties['maven.multiModuleProjectDirectory'] = projectDirargs = ['--errors','--batch-mode','--file', generatePomFileForPluginMavenPublication.destination,'org.apache.maven.plugins:maven-plugin-plugin:3.9.0:descriptor','-Dproject.build.sourceEncoding=' + compileJava.options.encoding]doLast {assert pluginDescriptorFile.file, "${pluginDescriptorFile.canonicalPath}: was not generated"logger.info("Plugin descriptor is generated in ${pluginDescriptorFile.canonicalPath}")}}generatePluginDescriptor.dependsOn(generatePomFileForPluginMavenPublication)project.classes.dependsOn(generatePluginDescriptor)project.validatePlugins.dependsOn(generatePluginDescriptor)publishToMavenLocal.dependsOn(build)// Signature of publicationsigning {setRequired {// signing is only required if the artifacts are to be publishedgradle.taskGraph.allTasks.any { it instanceof PublishToMavenRepository }}sign publishing.publications.pluginMaven}nexusStaging {username = project.findProperty('ossrhUsername') ?: ''password = project.findProperty('ossrhPassword') ?: ''}tasks.register('updateUniversalJavaApplicationStub', Download) {def version = '20230601.235708'group 'Update assets'description 'Downloads compiled and scripted versions of universalJavaApplicationStub to src/main/resources/mac overriding the existing ones.'src(["https://github.com/fvarrui/universalJavaApplicationStub/releases/download/${version}/universalJavaApplicationStub.sh","https://github.com/fvarrui/universalJavaApplicationStub/releases/download/${version}/universalJavaApplicationStub.x86_64","https://github.com/fvarrui/universalJavaApplicationStub/releases/download/${version}/universalJavaApplicationStub.arm64","https://github.com/fvarrui/universalJavaApplicationStub/releases/download/${version}/universalJavaApplicationStub"])dest file('src/main/resources/mac')overwrite true}tasks.register('updateWhyJavaLauncher', Download) {def version = '1.1.2'group 'Update assets'description 'Downloads JavaLauncher.exe to src/main/resources/windows and overwrites the existing one.'src(["https://github.com/AstroImageJ/Why/releases/download/${version}/JavaLauncher.exe"])dest file('src/main/resources/windows')overwrite true}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。