LiteDater - A simpler auto-updater for plugins

Discussion in 'Resources' started by Bionicrm, Jun 22, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    Bionicrm Retired Staff

    [​IMG]

    a simple auto-updater for plugins

    LiteDater aims to be a simple Bukkit plugin updater that greatly reduces the hassle of setting up pretty much everything related to updating. Some of the most notable features:

    -----+ Creates an 'updater.yml' file in the plugin's data folder to make it policy-compliant.
    -----+ Automatically looks up the plugin's project ID.
    -----+ Notifies the console when there's an update available.
    -----+ Will download the latest file if needed.
    -----+ Unzips downloaded .zip files.
    -----+ Only ≈280 lines vs. the ≈600 in Gravity's auto-updater.

    How to Use

    The best part about LiteDater is that the update checking process is initiated with a single short line:
    Code:java
    1. new LiteDater(plugin, true).performUpdateCheck();

    - The first parameter, "plugin", is the plugin that you want to update. If you put this in your onEnable() method, you can just use this to refer to "this" plugin.
    - The second parameter, "true", is the boolean for if you want to download any available updates. true = yes, download available updates and false = no, just notify the console of updates.
    - We then call performUpdateCheck(), which does exactly what it says: initiates the update check process.

    In order to actually use the updater, there's a few things you can do:

    Maven
    Add the following to your 'pom.xml':
    Code:
    <dependency>
        <groupId>com.bionicrm.litedater</groupId>
        <artifactId>LiteDater</artifactId>
        <version>0.0.1</version>
        <scope>compile</scope>
    </dependency>
    Code:
    <repository>
        <id>litedater</id>
        <url>http://ci.drtshock.net/plugin/repository/everything/</url>
    </repository>
    The latest version can always be found here.

    Adding the class
    Create a new class in your project and name it "LiteDater". Then copy and paste this class into it.

    Prerequisites
    While LiteDater is meant to be extremely simple and easy to use, there are a few things you should be sure about:

    ------ The file names on dev.bukkit.org have the format of "PluginName v1.0".
    ------ The 'name' value in your 'plugin.yml' file is equal to the name of your project, case
    --------insensitive.
    ------ The 'website' value in your 'plugin.yml' file is either set to where you can obtain updates for
    --------the plugin or is not set at all.
    ------ In order to stay policy-compliant, LiteDater has already made your file policy-compliant, but
    --------not the project. In order to stick to the rules, you should add this notice somewhere on
    --------your project page:
    Why NOT LiteDater?

    Gravity's auto-updater still works and is great. Both LiteDater and Gravity's auto-updater have their pros and cons. This should settle some things:

    What LiteDater doesn't have that Gravity's auto-updater does have:

    ------ High customization: you can handle the response you get with Gravity's and send your own
    --------messages, doing even more things depending on the result of the update.
    ------ Ability to tag certain builds as non-update builds.

    Links
     
  2. Offline

    iiHeroo

    Nice!, very easy to use :) Although, LD seems to stand for LiteDater for you, for me it stands for Lunch Detention, for everyone at my school :(
     
  3. Offline

    BungeeTheCookie

    LD stands for Lets Die for the Devil. Awesome resource by the way!
     
  4. Offline

    iiHeroo


    I learned more from a forums site than I do at school.
     
    AoH_Ruthless likes this.
Thread Status:
Not open for further replies.

Share This Page