rockfireredmoon / getdown-maven-plugin Goto Github PK
View Code? Open in Web Editor NEWCreates Getdown update directory, manifest, stubs and more.
License: Apache License 2.0
Creates Getdown update directory, manifest, stubs and more.
License: Apache License 2.0
A minimum Java version may be specified in getdown.txt along with resource locations for alternative Java runtimes that may be downloaded (OS specific) to satisfy that requirement.
The Maven plugin should accept a minimum version configuration option (java_min_version) and location of runtime bundles and inject these into getdown.txt. The runtime bundles must be in JAR format, so in order to add value to using the Maven plugin, it should be capable of accepting of generating these jars from :-
Other configuration options that should be exposed include :-
See https://github.com/threerings/getdown/wiki/Getdown-Dot-Text for full details
Hi,
I love your plugin. It's ... enriched my life.
I brought this issue up on the getdown repository: No corner icon on first install
samskivert said it could be fixed by putting some config in the stub getdown.txt.
Is this something that could be fixed in the plugin?
It appears that both goals are using same work directory and writing to the same "getdown.txt" file. Since Stubs goal creates shortened "getdown.txt" as compared to Updates version, there are no jar information in "getdown.txt" file, what causes update failure
I believe there is an issue with nested resources. I have a section like:
<resource> <path>src/main/resources</path> <includes> <include>com/**/*</include> <include>icons/**/*</include> </includes> </resource>
The plugin builds the correct directory structure, but the digest and getdown.txt include entries like:
icons\UDI.png = ..MD5..
Note the backslash, instead of a forward slash like the jar entries:
lib/commons-logging.jar = ..MD5..
When running the stub, all of the elements with the backslash indicate they are missing (because address https://server/getdown-location/icons%5CUDI.png is missing, while icons/UDI.png is there).
Am I missing a flag that will force Linux [web] path separators or is this a result of building on Windows and deploying on a Linux web-server?
we tried to build both examples but it doesn't work !
raw.github is no longer supported !
so the project can't build !
in a secod run we tired to update the plugin, add a gh-pages repository and build it.
but when we try to build the examples we always get the error:
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT:updates (default) on project getdown-maven-example2: Execution default of goal org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT:updates failed: Unable to load the mojo 'updates' (or one of its required components) from the plugin 'org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT': com.google.inject.ProvisionException: Guice provision errors:
[ERROR]
[ERROR] 1) No implementation for org.icestuff.getdown.maven.SignTool was bound.
[ERROR] while locating org.icestuff.getdown.maven.MakeUpdatesMojo
[ERROR] at ClassRealm[plugin>org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT, parent: sun.misc.Launcher$AppClassLoader@33909752]
[ERROR] while locating org.apache.maven.plugin.Mojo annotated with @com.google.inject.name.Named(value=org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT:updates)
[ERROR]
[ERROR] 1 error
[ERROR] role: org.apache.maven.plugin.Mojo
[ERROR] roleHint: org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT:updates
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT:updates (default) on project getdown-maven-example2: Execution default of goal org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT:updates failed: Unable to load the mojo 'updates' (or one of its required components) from the plugin 'org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT'
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default of goal org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT:updates failed: Unable to load the mojo 'updates' (or one of its required components) from the plugin 'org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT'
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:115)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 19 more
Caused by: org.apache.maven.plugin.PluginContainerException: Unable to load the mojo 'updates' (or one of its required components) from the plugin 'org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT'
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:488)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:92)
... 20 more
Caused by: org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.ProvisionException: Guice provision errors:
1 error
role: org.apache.maven.plugin.Mojo
roleHint: org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT:updates
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:257)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:245)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:455)
... 21 more
Caused by: com.google.inject.ProvisionException: Guice provision errors:
1 error
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:974)
at com.google.inject.Scopes$1$1.get(Scopes.java:59)
at org.sonatype.guice.bean.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:83)
at org.sonatype.guice.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:49)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:253)
... 23 more
In Getdown's most recent version they've re-factored things into more modular jars instead of a single getdown jar.
Getdown's wiki explains:
Prior to Getdown 1.8, everything needed to use Getdown was published as a single jar file. This was
convenient, but required playing a bit fast and loose with dependencies as the single jar file
contained both the runtime Getdown code and the code needed for build tools when generating an app
distribution.Starting with Getdown 1.8, the project was split into multiple Maven modules, each with minimal and
appropriate dependencies.
core
- contains the main logic for reading app manifests (thegetdown.txt
file) and
updating and verifying an apps code and resources, as well as logic for generatingdigest.txt
files andJarDiff
patch fileslauncher
- contains the Getdown launcher "application", which handles downloading, updating
and running the target applicationant
- contains the code to integrate with the [Ant] build tool to generatedigest.txt
files
as part of an automated build(Note that the Maven integration lives in separate projects maintained by a third parties.)
Build integration changes
The three main changes needed to update your build to use the new multimodule Getdown are:
- The old Maven artifact for the launcher was
com.threerings:getdown
, the new artifact is
com.threerings.getdown:getdown-launcher
.- The old Maven artifact for Ant integration (which some Maven builds used in conjunction with
themaven-antrun-plugin
) wascom.threerings:getdown
, the new artifact is
com.threerings.getdown:getdown-ant
.- The old Maven artifact on which to depend if you used Getdown code in your app (for example to
useLaunchUtil.updateVersionAndRelaunch
) wascom.threerings:getdown
, the new artifact is
com.threerings.getdown:getdown-core
.
The changes seem relatively simple, so I've gone ahead and made a pull request.
What if a project has a parent pom.xml file and there are n number of modules and the main class can be in any of the sub modules. Will this plugin work?
Hi There,
I am trying to use the plugin to generate the configuration. Most of it is working fine apart from the tags.
I tried using this:
<nresources> <nresource>[linux-amd64] native/liblwjgl64.so</nresource> </nresources>
and
<resources> <resource>mytest.jar</resource> </resources>
It doesn't write in getdown.txt. I was expecting it to add to getdown.txt like:
resource = mytest.jar
resource = [linux-amd64] native/liblwjgl64.so
Can you let me know please what is wrong.
I can't configure my pom with mainClass = manifest. Is this feature supported in this plugin?
This is the feature that I need to use https://github.com/threerings/getdown/wiki/Getdown-Dot-Text#launcher-configuration
(I'm currently using this option in getdown)
Thanks for your work
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.