Commit Graph

16 Commits

Author SHA1 Message Date
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
1ff02edc71 Add support for reading mods.toml file from 1.13+ forge mods. 2020-01-19 11:59:11 -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
a236e8408e Forge and its submodules are now included in the generated distribution. 2020-01-12 07:15:21 -05:00
Daniel Scalzi
9e420db907 Propagate baseURL to resolved forge modules. 2020-01-12 06:20:23 -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
d04fb61f2a Setting up flow for resolvers.
Repo structure classes should be responsible for pulling versioned files.
Ex. /forge/1.14/ -> get the latest file (or only allow one file).
The resolver then gets that file to work with in order to resolve the forge
module, pull its libs, and attach them as submodules.
2019-09-10 00:59:51 -04:00
Daniel Scalzi
2bbf732d8e Begin work on new structure resolvers. 2019-08-21 22:25:11 -04:00
Daniel Scalzi
b942f4df59 Setting up the model resolution design. 2019-07-29 23:55:33 -04:00
Daniel Scalzi
077fd12ec3 Add empty prototype commands. 2019-07-29 22:31:11 -04:00
Daniel Scalzi
55afd5fb04 Add utility to parse maven identifiers. 2019-07-29 20:53:26 -04:00
Daniel Scalzi
b76ec4a346 Added model files, tslint.
Model files will likely be externalized to its own 'spec' project
when the rest of the project is rewritten in typescript. That module
will likely contain processing utilities.
2019-07-28 14:29:06 -04:00
Daniel Scalzi
68e09fbac7 Initial commit 2019-07-28 13:55:51 -04:00