Giter VIP home page Giter VIP logo

getdown-maven-plugin's Introduction

Right now, this plugin isn't much. It's a work in progress.

But for those using the Getdown auto-updater provided by Threerings, this plugin should help generate not only your getdown.txt and digest.txt files, but will do so as a simple run of the mill Maven plugin.

This plugin is in maven central now, though it's only updated rarely, since I've kind of let development lapse. I've taken several contributions, however, and will gladly accept any that make sense.

Below is an example configuration of your maven project to use this plugin:

  <plugin>
    <groupId>com.digitalbarista</groupId>
    <artifactId>getdown-maven-plugin</artifactId>
    <version>1.0-SNAPSHOT</version>
    <configuration>
      <!– A reference to a base getdown.txt file in your project –>
      <configFile>src/main/configs/getdown.txt</configFile>
      <!– A list of additional properties that should appear in the getdown.txt –>
      <configProps>
        <appbase>http://www.mycompany.com/software/myApp/
        <ui.name>My App - Play it and enjoy!</ui.name>
      </configProps>
      <!--
        Set stripVersions to true if you want the versions removed from the jar
        file names, so that getdown does not leave a trail of jar versions behind
      -->
      <stripVersions>false</stripVersions>

      <!--
        (Optional) Setup custom java_location entries (see getdown documentation
        for details).

      Per-platform example:
      <jvmLocations>
        <jvmLocation>
          <platform>windows</platform>
          <path>/jvm/jvm-windows.jar</path>
        </jvmLocation>
        <jvmLocation>
          <platform>linux</platform>
          <path>/jvm/jvm-linux.jar</path>
        </jvmLocation>
      </jvmLocations>

      Single platform example:
      <jvmLocations>
        <jvmLocation>
          <path>/jvm/jvm.jar</path>
        </jvmLocation>
      </jvmLocations>
      -->
    </configuration>
    <executions>
      <execution>
        <phase>install</phase>
        <goals>
          <goal>build</goal>
        </goals>
      <execution>
    </executions>
  </plugin>

The output is put into the target/getdown directory of your project

The resulting directory structure should look like this:

  target
  |--getdown
    |--getdown.txt    #Modified with 'code = ' entries for all your dependencies.
    |--digest.txt     #Not signed yet, but that will come at some point.
    |--code
      |--myApp.jar
      |--someDependency.jar
      |--anotherDependency.jar

Currently, the assumption is that there is ONE main project artifact, and that it's a JAR. I had intended at one point to build in support to handle multi-artifact projects that may or may not be JARs, but I'm not sure there's much demand, and my time available to devote to this plugin isn't abundant anymore.

There aren't a ton of features, since this was mostly a learning project. This is MEGA bare-bones. Feedback is welcome, and I'll incorporate any suggestions I can as I learn how people are actually structuring their maven projects compared to how they want them structured for Getdown packaging. However, this is a dormant project . . . I'm not actively using it, and with the recent movement toward gradle, I'm not sure there's a huge demand for this project.

However, please use it, modify it, and let me know what you think!

getdown-maven-plugin's People

Contributors

falken224 avatar kilburn avatar rgruber1 avatar yukunix avatar

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.