Commit Graph

16 Commits

Author SHA1 Message Date
Daniel Scalzi
0b063e4bfc Added winston for logging. 2020-06-02 20:47:34 -04:00
Daniel Scalzi
672424b973 Add support for processing 1.12.2 Forge compiled with Forge Gradle 3 (#8).
Changed the resolver names to match the Forge Gradle versions, since that software version
determines the structure of the jar file and how it needs to be parsed.
Refactored the ForgeGradle3 resolver to conditionally execute the installer only when we
need artifacts generated by the installer. This allows the new 1.12.2 builds to be processed
without running the installer.
Changed the VersionSegemented interface to accept a libraryVersion, so we can segment within
a minecraft version.

This change is pending verification with Helios.
2020-06-02 17:16:15 -04:00
Daniel Scalzi
00842c9dff Wrap MinecraftVersion in its own object. 2020-05-29 22:15:56 -04:00
Daniel Scalzi
23a452f0b6 Use TypeMetadata for lib extension, listen to process error event. 2020-05-19 22:14:11 -04:00
Daniel Scalzi
064a664687 Externalize spec typings, use eslint.
Tslint is deprecated, as such we have moved to eslint. Linted the project with more
stringent rules. The configuration will be changed as we figure out which rules we
should keep.
2020-01-26 01:01:07 -05:00
Daniel Scalzi
8911f54039 Automatic resolution of latest and recommended forge builds.
You can now use 'latest' or 'recommended' as the forge version option in the generate commands.
Two new commands are provided to query the latest/recommended version of forge.
2020-01-19 15:40:52 -05:00
Daniel Scalzi
2b0ba5ac07 Always tag client jar with forge artifact version.
This allows multiple versions of the same forge to be used.
Ex. Recommended 1.15 on prod, latest 1.15 on test.
Also fixed a bug with artifact classifier formatting.
2020-01-19 12:36:06 -05:00
Daniel Scalzi
1ff02edc71 Add support for reading mods.toml file from 1.13+ forge mods. 2020-01-19 11:59:11 -05:00
Daniel Scalzi
4d342b7b0a Support for 1.13+ Forge Resolution.
Tested versions: 1.13.2
TODO: Test 1.14.4, 1.15.1
TODO: Read mod metadata from mods.toml in 1.13+
2020-01-19 10:58:02 -05:00
Daniel Scalzi
aeef30e3c8 Initial work on 1.13 forge resolver, fixes.
Moved java executable to its own util class.
Fixed artifact resolution links for older versions of forge.

1.13 support is going to be difficult because forge does not
make anything developer friendly.
2020-01-18 10:50:28 -05:00
Daniel Scalzi
21d80fef82 Integrate with PackXZExtract to support pack.xz libs.
All pack.xz libraries now have their MD5s properly calculated.
Sha1 validations are performed on jar libraries. The checksums
forge provides for compressed files are neither the sha1 or md5
of the initial or extracted file. Ignoring those for now.

Still TODO is integration with baseurl. Might move both that
and base path to the .env file to reduce redundency in command processing.
2020-01-12 05:27:35 -05:00
Daniel Scalzi
0674bd5808 Parse version manifest and download forge libraries.
TODO:
Integrate base url propagation.
Integrate PackXZExtract to calculate hashes  of jar.pack.xz files.
OR ammend the distribution spec to accept different hash algos (requires helioslauncher update).
2020-01-12 03:42:34 -05:00
Daniel Scalzi
419a4d5e91 Completed steps up to downloading forge universal jar for 1.8-1.12.
Next step is processing the version.json and transforming it into a deliverable module.
2020-01-12 01:36:36 -05:00
Daniel Scalzi
4ae42092aa Add support for maven classifiers, make repo structures functional
For now each repo structure will resolve the absolute path of the desired file.
2020-01-11 18:45:35 -05:00
Daniel Scalzi
79ab8abad2 Added metadata readers for litemods and forgemods. 2019-08-22 00:10:15 -04:00
Daniel Scalzi
55afd5fb04 Add utility to parse maven identifiers. 2019-07-29 20:53:26 -04:00