A fork of ASM library
The repository contains a fork of ASM library with a couple of IntelliJ-specific patches on top (see commits).
-
Prerequisites: a UNIX host with JDK 11 or newer.
-
First, visit the Tags page to find a tag corresponding to the desired release (for example,
ASM_9_1
). -
Then make sure your local copy of the repository is up to date. If you don't have the local copy yet, just clone the repository, otherwise "cd" into that directory and execute
git fetch && git reset --hard origin/master
. -
Fetch changes and tags from upstream:
git fetch --tags https://gitlab.ow2.org/asm/asm.git
. -
Apply JB patches on top of the desired tag:
git rebase --onto ASM_9_1 UPSTREAM_HEAD master
. Since merge conflicts are virtually inevitable, it is recommended to perform the rebase in the IDE (Git | Rebase, Modify options | --onto, new base:ASM_9_1
, old base:UPSTREAM_HEAD
). -
Make sure everything works as expected (see "Testing the updated library").
-
Update the
UPSTREAM_HEAD
tag to make it point to the release tag:git tag -f UPSTREAM_HEAD ASM_9_1
. -
Finally, push the updates to GitHub:
git push --tags --force origin master
.
-
Run unit tests:
./gradle/gradlew test
. -
Assemble artifacts:
./gradle/gradlew clean jar -Prelease ; ./gradle/gradlew -b intellij-deps-asm.gradle fatJar fatSources
. -
Use the artifacts to test IDEA's compatibility with the new release - e.g. add them to the project as "ASM" library roots and remote-run the "Aggregator" build configuration.