Skip to content

Commit 4dfc8f8

Browse files
committed
U released v1.4.2
1 parent 12be692 commit 4dfc8f8

File tree

3 files changed

+91
-40
lines changed

3 files changed

+91
-40
lines changed

README.md

+39-39
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Add the following `plugin` tag to your `pom.xml`:
2222
<plugin>
2323
<groupId>io.github.fvarrui</groupId>
2424
<artifactId>javapackager</artifactId>
25-
<version>1.4.1</version>
25+
<version>1.4.2</version>
2626
<executions>
2727
<execution>
2828
<phase>package</phase>
@@ -70,7 +70,7 @@ buildscript {
7070
mavenCentral()
7171
}
7272
dependencies {
73-
classpath 'io.github.fvarrui:javapackager:1.4.1'
73+
classpath 'io.github.fvarrui:javapackager:1.4.2'
7474
}
7575
}
7676
@@ -134,43 +134,43 @@ By default it will generate next artifacts in `${outputDirectory} ` folder:
134134
135135
### Plugin configutation properties
136136

137-
| Property | Mandatory | Default value | Description |
138-
| --------------------------- | ------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
139-
| `additionalManifestEntries` | :x: | `null` | Map with additional entries to be used in the manifest file of the generated runnable JAR. |
140-
| `additionalModules` | :x: | `[]` | Additional modules to the ones identified by `jdeps` or the specified with `modules` property. |
141-
| `additionalResources` | :x: | `[]` | Additional files and folders to include in the bundled app. |
142-
| `administratorRequired` | :x: | `false` | App will run as administrator (with elevated privileges). |
143-
| `assetsDir` | :x: | `${basedir}/assets` or `${projectdir}/assets` | Assets location (icons and custom Velocity templates). |
144-
| `bundleJre` | :x: | `false` | Embeds a customized JRE with the app. |
145-
| `classpath` | :x: | `null` | List of additional paths to JVM classpath, separated with `;` (recommended) or `:`. |
146-
| `copyDependencies` | :x: | `true` | Bundles all dependencies (JAR files) with the app. |
147-
| `createTarball` | :x: | `false` | Bundles app folder in tarball. |
148-
| `createZipball` | :x: | `false` | Bundles app folder in zipball. |
149-
| `customizedJre` | :x: | `true` | Generates a customized JRE, including only identified or specified modules. Otherwise, all modules will be included. |
150-
| `description` | :x: | `${project.description}` or `${displayName}` | Project description. |
151-
| `displayName` | :x: | `${project.name}` or `${name}` | App name to show. |
152-
| `envPath` | :x: | `null` | Defines PATH environment variable in GNU/Linux and Mac OS X startup scripts. |
153-
| `extra` | :x: | `null` | Map with extra properties to be used in customized Velocity templates, accesible through `$info.extra` variable. |
154-
| `generateInstaller` | :x: | `true` | Generates an installer for the app. |
155-
| `iconFile` | :x: | `null` | Path to the app icon file (PNG, XPM, ICO or ICNS). **:warning: Deprecated (see platform specific properties).** |
156-
| `jdkPath` | :x: | `${java.home}` | JDK used to generate a customized JRE. It allows to bundle customized JREs for different platforms. |
157-
| `jreDirectoryName` | :x: | `"jre"` | Bundled JRE directory name. |
158-
| `jreMinVersion` | :x: | `null` | JRE minimum version. If an appropriate version cannot be found display error message. Disabled if a JRE is bundled. |
159-
| `jrePath` | :x: | `""` | Path to JRE folder. If specified, it will bundle this JRE with the app, and won't generate a customized JRE. For Java 8 version or least. |
160-
| `licenseFile` | :x: | `${project.licenses[0].url}` or `${basedir}/LICENSE` or `${projectdir}/LICENSE` | Path to project license file. |
161-
| `mainClass` | :heavy_check_mark: | `${exec.mainClass}` | Full path to your app main class. |
162-
| `modules` | :x: | `[]` | Defines modules to customize the bundled JRE. Don't use `jdeps` to get module dependencies. |
163-
| `name` | :x: | `${project.name}` or `${project.artifactId}` | App name. |
164-
| `organizationName` | :x: | `${project.organization.name}` or `"ACME"` | Organization name. |
165-
| `organizationUrl` | :x: | `${project.organization.url}` | Organization website URL. |
166-
| `organizationEmail` | :x: | `null` | Organization email. |
167-
| `outputDirectory` | :x: | `${project.build.directory}` or `${project.builddir}` | Output directory (where the artifacts will be generated). |
168-
| `platform` | :x: | `auto` | Defines the target platform, which could be different to the execution platform. Possible values: `auto`, `mac`, `linux`, `windows`. Use `auto` for using execution platform as target. |
169-
| `runnableJar` | :x: | `null` | Defines your own JAR file to be bundled. If it's ommited, the plugin packages your code in a runnable JAR and bundle it with the app. |
170-
| `url` | :x: | `null` | App website URL. |
171-
| `useResourcesAsWorkingDir` | :x: | `true` | Uses app resources folder as default working directory (always `true` on Mac OS). |
172-
| ` version` | :x: | `${project.version}` | Project version. |
173-
| `vmArgs` | :x: | `[]` | Adds VM arguments. |
137+
| Property | Mandatory | Default value | Description |
138+
| -------------------------- | ------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
139+
| `additionalModules` | :x: | `[]` | Additional modules to the ones identified by `jdeps` or the specified with `modules` property. |
140+
| `additionalResources` | :x: | `[]` | Additional files and folders to include in the bundled app. |
141+
| `administratorRequired` | :x: | `false` | App will run as administrator (with elevated privileges). |
142+
| `assetsDir` | :x: | `${basedir}/assets` or `${projectdir}/assets` | Assets location (icons and custom Velocity templates). |
143+
| `bundleJre` | :x: | `false` | Embeds a customized JRE with the app. |
144+
| `classpath` | :x: | `null` | List of additional paths to JVM classpath, separated with `;` (recommended) or `:`. |
145+
| `copyDependencies` | :x: | `true` | Bundles all dependencies (JAR files) with the app. |
146+
| `createTarball` | :x: | `false` | Bundles app folder in tarball. |
147+
| `createZipball` | :x: | `false` | Bundles app folder in zipball. |
148+
| `customizedJre` | :x: | `true` | Generates a customized JRE, including only identified or specified modules. Otherwise, all modules will be included. |
149+
| `description` | :x: | `${project.description}` or `${displayName}` | Project description. |
150+
| `displayName` | :x: | `${project.name}` or `${name}` | App name to show. |
151+
| `envPath` | :x: | `null` | Defines PATH environment variable in GNU/Linux and Mac OS X startup scripts. |
152+
| `extra` | :x: | `null` | Map with extra properties to be used in customized Velocity templates, accesible through `$info.extra` variable. |
153+
| `generateInstaller` | :x: | `true` | Generates an installer for the app. |
154+
| `iconFile` | :x: | `null` | Path to the app icon file (PNG, XPM, ICO or ICNS). **:warning: Deprecated (see platform specific properties).** |
155+
| `jdkPath` | :x: | `${java.home}` | JDK used to generate a customized JRE. It allows to bundle customized JREs for different platforms. |
156+
| `jreDirectoryName` | :x: | `"jre"` | Bundled JRE directory name. |
157+
| `jreMinVersion` | :x: | `null` | JRE minimum version. If an appropriate version cannot be found display error message. Disabled if a JRE is bundled. |
158+
| `jrePath` | :x: | `""` | Path to JRE folder. If specified, it will bundle this JRE with the app, and won't generate a customized JRE. For Java 8 version or least. |
159+
| `licenseFile` | :x: | `${project.licenses[0].url}` or `${basedir}/LICENSE` or `${projectdir}/LICENSE` | Path to project license file. |
160+
| `mainClass` | :heavy_check_mark: | `${exec.mainClass}` | Full path to your app main class. |
161+
| `manifest` | :x: | `null` | [Allows adding additional entries to MANIFEST.MF file.](docs/manifest.md) |
162+
| `modules` | :x: | `[]` | Defines modules to customize the bundled JRE. Don't use `jdeps` to get module dependencies. |
163+
| `name` | :x: | `${project.name}` or `${project.artifactId}` | App name. |
164+
| `organizationName` | :x: | `${project.organization.name}` or `"ACME"` | Organization name. |
165+
| `organizationUrl` | :x: | `${project.organization.url}` | Organization website URL. |
166+
| `organizationEmail` | :x: | `null` | Organization email. |
167+
| `outputDirectory` | :x: | `${project.build.directory}` or `${project.builddir}` | Output directory (where the artifacts will be generated). |
168+
| `platform` | :x: | `auto` | Defines the target platform, which could be different to the execution platform. Possible values: `auto`, `mac`, `linux`, `windows`. Use `auto` for using execution platform as target. |
169+
| `runnableJar` | :x: | `null` | Defines your own JAR file to be bundled. If it's ommited, the plugin packages your code in a runnable JAR and bundle it with the app. |
170+
| `url` | :x: | `null` | App website URL. |
171+
| `useResourcesAsWorkingDir` | :x: | `true` | Uses app resources folder as default working directory (always `true` on Mac OS). |
172+
| ` version` | :x: | `${project.version}` | Project version. |
173+
| `vmArgs` | :x: | `[]` | Adds VM arguments. |
174174

175175
> Some default values depends on the used building tool.
176176

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ dependencies {
6363
}
6464

6565
group = 'io.github.fvarrui'
66-
version = '1.4.2-SNAPSHOT'
66+
version = '1.4.3-SNAPSHOT'
6767
description = 'Hybrid Maven/Gradle plugin to package Java applications as native Windows, Mac OS X or GNU/Linux executables and create installers for them'
6868

6969
sourceCompatibility = JavaVersion.VERSION_1_8

docs/manifest.md

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# *manifest* property
2+
3+
`manifest` property allows to add additional manifest entries and sections.
4+
5+
## Maven
6+
7+
```xml
8+
<manifest>
9+
<additionalEntries>
10+
<Created-By>Peter</Created-By>
11+
</additionalEntries>
12+
<sections>
13+
<section>
14+
<name>foo/</name>
15+
<entries>
16+
<Implementation-Version>foo1</Implementation-Version>
17+
</entries>
18+
</section>
19+
</sections>
20+
</manifest>
21+
```
22+
23+
## Gradle
24+
25+
```groovy
26+
manifest {
27+
additionalEntries = [
28+
'Created-By': 'Peter'
29+
]
30+
sections = [
31+
new io.github.fvarrui.javapackager.model.ManifestSection ([
32+
name: "foo/",
33+
entries: [
34+
'Implementation-Version': 'foo1'
35+
]
36+
])
37+
]
38+
}
39+
```
40+
41+
## Result
42+
43+
Both produce the following `MANIFEST.MF` file:
44+
45+
```properties
46+
Manifest-Version: 1.0
47+
Created-By: Peter
48+
49+
Name: foo/
50+
Implementation-Version: foo1
51+
```

0 commit comments

Comments
 (0)