tterrag1098 / BON2

A rewrite for Immibis's bearded-octo-nemesis for ForgeGradle
GNU Lesser General Public License v3.0
182 stars 50 forks source link

Fix VersionLookup not being populated outside of the GUI #32

Closed Choonster closed 6 years ago

Choonster commented 7 years ago

VersionLookup#refresh was only being called in the BON2Gui constructor, so it was always empty when used by the command-line.

This was causing the following exception to be thrown when populating the mappings versions:

Exception in thread "main" java.lang.NumberFormatException: For input string: "banana"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:580)
    at java.lang.Integer.valueOf(Integer.java:766)
    at com.github.parker8283.bon2.data.MappingVersion.compareTo(MappingVersion.java:67)
    at com.github.parker8283.bon2.data.MappingVersion.compareTo(MappingVersion.java:7)
    at java.util.ComparableTimSort.countRunAndMakeAscending(ComparableTimSort.java:325)
    at java.util.ComparableTimSort.sort(ComparableTimSort.java:188)
    at java.util.Arrays.sort(Arrays.java:1312)
    at java.util.Arrays.sort(Arrays.java:1506)
    at java.util.ArrayList.sort(ArrayList.java:1454)
    at com.github.parker8283.bon2.util.BONUtils.buildValidMappings(BONUtils.java:80)
    at com.github.parker8283.bon2.BON2.parseArgs(BON2.java:70)
    at com.github.parker8283.bon2.BON2.main(BON2.java:29)

This PR adds a call to VersionLookup#refresh just before the mappings versions are populated.

simon816 commented 6 years ago

+1 to this

I am also experiencing the same issue

Exception in thread "main" java.lang.NumberFormatException: For input string: "unknown"
        at java.lang.NumberFormatException.forInputString(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)
        at java.lang.Integer.valueOf(Unknown Source)
        at com.github.parker8283.bon2.data.MappingVersion.compareTo(MappingVersion.java:78)
        at com.github.parker8283.bon2.data.MappingVersion.compareTo(MappingVersion.java:7)
        at java.util.ComparableTimSort.countRunAndMakeAscending(Unknown Source)
        at java.util.ComparableTimSort.sort(Unknown Source)
        at java.util.Arrays.sort(Unknown Source)
        at java.util.Arrays.sort(Unknown Source)
        at java.util.ArrayList.sort(Unknown Source)
        at com.github.parker8283.bon2.util.BONUtils.buildValidMappings(BONUtils.java:46)
        at com.github.parker8283.bon2.BON2.parseArgs(BON2.java:63)
        at com.github.parker8283.bon2.BON2.main(BON2.java:27)

VersionLookup.INSTANCE.getVersionFor returns unknown because the cache is empty. It then created a MappingVersion with version "unknown-snapshot_20141001" hence the NumberFormatException

tterrag1098 commented 6 years ago

http://ci.tterrag.com/job/BON2/8/