Git Product home page Git Product logo

getdown-maven-plugin's People

Contributors

gieza avatar rockfireredmoon avatar turekbot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

getdown-maven-plugin's Issues

Implement Custom Java Installation

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 :-

  • The current Maven Java runtime. This would obviously only be for the current platform
  • File locations. Either an expanded runtime, a zip of a runtime, a jar of a runtime or a tgz of a runtime.
  • HTTP locations. A zip of a runtime, a jar of a runtime or a tgz of a runtime.

Other configuration options that should be exposed include :-

  • java_max_version
  • java_exact_version_required

See https://github.com/threerings/getdown/wiki/Getdown-Dot-Text for full details

No icon on first install

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?

Build in Windows Produces Invalid Digest for Download

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?

Example1 and Example2 doesn't WORK

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. No implementation for org.icestuff.getdown.maven.SignTool was bound.
    while locating org.icestuff.getdown.maven.MakeUpdatesMojo
    at ClassRealm[plugin>org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT, parent: sun.misc.Launcher$AppClassLoader@33909752]
    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)

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. No implementation for org.icestuff.getdown.maven.SignTool was bound.
    while locating org.icestuff.getdown.maven.MakeUpdatesMojo
    at ClassRealm[plugin>org.icestuff:getdown-maven-plugin:0.0.10-SNAPSHOT, parent: sun.misc.Launcher$AppClassLoader@33909752]
    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)

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

Updating to Getdown v1.8+

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:

Migrating from 1.7 to 1.8

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 (the getdown.txt file) and
    updating and verifying an apps code and resources, as well as logic for generating digest.txt
    files and JarDiff patch files
  • launcher - contains the Getdown launcher "application", which handles downloading, updating
    and running the target application
  • ant - contains the code to integrate with the [Ant] build tool to generate digest.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
    the maven-antrun-plugin) was com.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
    use LaunchUtil.updateVersionAndRelaunch) was com.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.

Resources Tag Not Working

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.