Skip to content

Commit

Permalink
Build against a fixed ProGuardCORE version
Browse files Browse the repository at this point in the history
With this change the stable ProGuard branch remains stable, independent
of changes in ProGuardCORE. This avoids the stable branch of ProGuard
failing if breaking changes are pushed to ProGuardCORE master branch.
  • Loading branch information
mrjameshamilton authored and jelle-dc committed Jul 19, 2021
1 parent e427ecc commit a450a25
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 34 deletions.
6 changes: 1 addition & 5 deletions .github/workflows/continuous_integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,11 @@ jobs:
- uses: actions/checkout@v2
with:
path: proguard-main
- uses: actions/checkout@v2
with:
repository: Guardsquare/proguard-core
path: proguard-core
- uses: actions/setup-java@v1
with:
java-version: 8
- uses: eskatos/gradle-command-action@v1
with:
build-root-directory: proguard-main/
wrapper-directory: proguard-main/
arguments: --include-build ../proguard-core/ test jar
arguments: test jar
24 changes: 3 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -218,25 +218,7 @@ ProGuard in detail.

## 💻 Building ProGuard

Building ProGuard is easy - you'll need:

* a Java 8 JDK installed
* a clone of the [ProGuardCORE](https://github.com/Guardsquare/proguard-core) repository, since ProGuard
is built on the ProGuardCORE library

You can then execute a composite build with the following Gradle command:

```bash
./gradlew --include-build=../proguard-core assemble
```

Alternatively, make the composite build persistent by editing this line in `gradle.properties`.
You can also add this line to a `gradle.properties` file in your Gradle user home (`~/.gradle/gradle.properties`).

```properties
# Optionally set up a composite build with ProGuardCORE.
#proguardCoreDir = ../proguard-core
```
Building ProGuard is easy - you'll just need a Java 8 JDK installed.

The artifacts will be generated in the `lib` directory. You can then execute ProGuard using the
scripts in `bin`, for example:
Expand All @@ -245,10 +227,10 @@ scripts in `bin`, for example:
bin/proguard.sh
```

You can publish the artifacts (including proguard-core) to your local Maven repository using:
You can publish the artifacts to your local Maven repository using:

```bash
./gradlew --include-build=../proguard-core :proguard-core:publishToMavenLocal publishToMavenLocal
./gradlew publishToMavenLocal
```

## 🤝 Contributing
Expand Down
5 changes: 2 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
proguardVersion = 7.1.1

# The version of ProGuardCORE that sub-projects are built with
proguardCoreVersion = 7.1.0
gsonVersion = 2.8.5
kotlinVersion = 1.3.72
Expand All @@ -9,9 +11,6 @@ target = 1.8
wtkDir = /usr/local/java/wtk2.1
wtkHome = /usr/local/java/wtk

# Optionally set up a composite build with ProGuardCORE.
#proguardCoreDir = ../proguard-core

org.gradle.vfs.watch=true
org.gradle.parallel=true
org.gradle.caching=true
5 changes: 0 additions & 5 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,6 @@ pluginManagement {
}
}

if (hasProperty('proguardCoreDir'))
{
includeBuild proguardCoreDir
}

rootProject.name = 'proguard'

include 'base'
Expand Down

0 comments on commit a450a25

Please sign in to comment.