Skip to content
This repository was archived by the owner on Nov 23, 2024. It is now read-only.

Commit 82ace0a

Browse files
committed
feat: logging abstraction, automatic JPMS module name
1 parent 4e643b4 commit 82ace0a

File tree

85 files changed

+275
-350
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+275
-350
lines changed

.github/workflows/publish.yml

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Build and publish
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
permissions:
9+
packages: write
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v2
18+
with:
19+
fetch-depth: 0
20+
- name: Set up Java
21+
uses: actions/setup-java@v2
22+
with:
23+
java-version: 11
24+
distribution: temurin
25+
cache: gradle
26+
- name: Build and publish
27+
run: ./gradlew publishAllPublicationsToGithubRepository
28+
env:
29+
ORG_GRADLE_PROJECT_PROGUARD_GITHUB_USERNAME: ${{ github.repository_owner }}
30+
ORG_GRADLE_PROJECT_PROGUARD_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

base/build.gradle

+9-6
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ plugins {
1010

1111
repositories {
1212
mavenCentral()
13+
maven {
14+
url "https://jitpack.io"
15+
}
1316
}
1417

1518
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
@@ -19,10 +22,8 @@ tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
1922
}
2023

2124
dependencies {
22-
api "com.guardsquare:proguard-core:${proguardCoreVersion}"
25+
api "com.github.run-slicer.proguard-core:proguard-core:${proguardCoreVersion}"
2326
implementation "com.google.code.gson:gson:${gsonVersion}"
24-
implementation 'org.apache.logging.log4j:log4j-api:2.19.0'
25-
implementation 'org.apache.logging.log4j:log4j-core:2.19.0'
2627
implementation 'org.json:json:20231013'
2728

2829
testImplementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
@@ -33,16 +34,18 @@ dependencies {
3334
testImplementation 'io.kotest:kotest-property-jvm:5.9.0' // for kotest property test
3435
testImplementation 'io.mockk:mockk:1.13.11' // for mocking
3536

36-
testImplementation(testFixtures("com.guardsquare:proguard-core:${proguardCoreVersion}")) {
37-
exclude group: 'com.guardsquare', module: 'proguard-core'
37+
testImplementation(testFixtures("com.github.run-slicer.proguard-core:proguard-core:${proguardCoreVersion}")) {
38+
exclude group: 'com.github.run-slicer.proguard-core', module: 'proguard-core'
3839
}
3940
}
4041

4142
jar {
4243
manifest {
4344
attributes(
4445
'Multi-Release': true,
45-
'Implementation-Version': archiveVersion.get())
46+
'Implementation-Version': archiveVersion.get(),
47+
'Automatic-Module-Name': 'proguard'
48+
)
4649
}
4750
}
4851

base/src/main/java/proguard/AfterInitConfigurationVerifier.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@
77

88
package proguard;
99

10-
import org.apache.logging.log4j.LogManager;
11-
import org.apache.logging.log4j.Logger;
1210
import proguard.classfile.*;
1311
import proguard.classfile.util.ClassUtil;
1412
import proguard.classfile.visitor.ClassVisitor;
1513
import proguard.pass.Pass;
14+
import proguard.util.Logger;
1615

1716
/**
1817
* This pass performs configuration checks for which class pools or resource information
@@ -22,7 +21,7 @@ public class AfterInitConfigurationVerifier implements Pass
2221
{
2322
private final Configuration configuration;
2423

25-
private static final Logger logger = LogManager.getLogger(AfterInitConfigurationVerifier.class);
24+
private static final Logger logger = Logger.getLogger(AfterInitConfigurationVerifier.class);
2625

2726
public AfterInitConfigurationVerifier(Configuration configuration)
2827
{

base/src/main/java/proguard/ClassMemberChecker.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,11 @@
2020
*/
2121
package proguard;
2222

23-
import org.apache.logging.log4j.LogManager;
24-
import org.apache.logging.log4j.Logger;
2523
import proguard.classfile.*;
2624
import proguard.classfile.util.*;
2725
import proguard.classfile.visitor.MemberVisitor;
2826
import proguard.optimize.info.ReadWriteFieldMarker;
27+
import proguard.util.Logger;
2928

3029
import java.util.List;
3130

@@ -37,7 +36,7 @@
3736
public class ClassMemberChecker
3837
implements MemberVisitor
3938
{
40-
private static final Logger logger = LogManager.getLogger(ClassMemberChecker.class);
39+
private static final Logger logger = Logger.getLogger(ClassMemberChecker.class);
4140
private final ClassPool programClassPool;
4241
private final WarningPrinter notePrinter;
4342

base/src/main/java/proguard/ConfigurationVerifier.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,9 @@
2020
*/
2121
package proguard;
2222

23-
import org.apache.logging.log4j.LogManager;
24-
import org.apache.logging.log4j.Logger;
2523
import proguard.classfile.util.WarningLogger;
2624
import proguard.classfile.util.WarningPrinter;
25+
import proguard.util.Logger;
2726

2827
import java.io.*;
2928

@@ -34,7 +33,7 @@
3433
*/
3534
public class ConfigurationVerifier
3635
{
37-
private static final Logger logger = LogManager.getLogger(ConfigurationVerifier.class);
36+
private static final Logger logger = Logger.getLogger(ConfigurationVerifier.class);
3837

3938
private final Configuration configuration;
4039

base/src/main/java/proguard/ConfigurationWriter.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
*/
2121
package proguard;
2222

23-
import org.apache.logging.log4j.LogManager;
24-
import org.apache.logging.log4j.Logger;
2523
import proguard.classfile.*;
2624
import proguard.classfile.util.ClassUtil;
2725
import proguard.optimize.Optimizer;
@@ -38,7 +36,7 @@
3836
*/
3937
public class ConfigurationWriter implements AutoCloseable
4038
{
41-
private static final Logger logger = LogManager.getLogger(ConfigurationWriter.class);
39+
private static final Logger logger = Logger.getLogger(ConfigurationWriter.class);
4240

4341
private static final String[] KEEP_OPTIONS = new String[]
4442
{

base/src/main/java/proguard/Dumper.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@
77

88
package proguard;
99

10-
import org.apache.logging.log4j.LogManager;
11-
import org.apache.logging.log4j.Logger;
1210
import proguard.classfile.visitor.*;
1311
import proguard.pass.Pass;
12+
import proguard.util.Logger;
1413
import proguard.util.PrintWriterUtil;
1514

1615
import java.io.PrintWriter;
@@ -22,7 +21,7 @@
2221
*/
2322
public class Dumper implements Pass
2423
{
25-
private static final Logger logger = LogManager.getLogger(Dumper.class);
24+
private static final Logger logger = Logger.getLogger(Dumper.class);
2625

2726
private final Configuration configuration;
2827

base/src/main/java/proguard/FullyQualifiedClassNameChecker.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,10 @@
2020
*/
2121
package proguard;
2222

23-
import org.apache.logging.log4j.LogManager;
24-
import org.apache.logging.log4j.Logger;
2523
import proguard.classfile.*;
2624
import proguard.classfile.util.*;
2725
import proguard.classfile.visitor.*;
26+
import proguard.util.Logger;
2827

2928
import java.util.*;
3029

@@ -37,7 +36,7 @@
3736
public class FullyQualifiedClassNameChecker
3837
implements ClassVisitor
3938
{
40-
private static final Logger logger = LogManager.getLogger(FullyQualifiedClassNameChecker.class);
39+
private static final Logger logger = Logger.getLogger(FullyQualifiedClassNameChecker.class);
4140
private static final String INVALID_CLASS_EXTENSION = ClassUtil.internalClassName(ClassConstants.CLASS_FILE_EXTENSION);
4241

4342

base/src/main/java/proguard/GPL.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
*/
2121
package proguard;
2222

23-
import org.apache.logging.log4j.LogManager;
24-
import org.apache.logging.log4j.Logger;
23+
24+
import proguard.util.Logger;
2525

2626
import java.io.*;
2727
import java.util.*;
@@ -33,7 +33,7 @@
3333
*/
3434
public class GPL
3535
{
36-
private static final Logger logger = LogManager.getLogger(GPL.class);
36+
private static final Logger logger = Logger.getLogger(GPL.class);
3737

3838
/**
3939
* Prints out a note about the GPL if ProGuard is linked against unknown

base/src/main/java/proguard/Initializer.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
*/
2121
package proguard;
2222

23-
import org.apache.logging.log4j.LogManager;
24-
import org.apache.logging.log4j.Logger;
2523
import proguard.classfile.*;
2624
import proguard.classfile.attribute.Attribute;
2725
import proguard.classfile.attribute.annotation.visitor.*;
@@ -35,6 +33,7 @@
3533
import proguard.resources.file.visitor.ResourceJavaReferenceClassInitializer;
3634
import proguard.resources.kotlinmodule.util.KotlinModuleReferenceInitializer;
3735
import proguard.util.*;
36+
import proguard.util.Logger;
3837

3938
import java.io.*;
4039
import java.util.*;
@@ -46,7 +45,7 @@
4645
*/
4746
public class Initializer implements Pass
4847
{
49-
private static final Logger logger = LogManager.getLogger(Initializer.class);
48+
private static final Logger logger = Logger.getLogger(Initializer.class);
5049
private final Configuration configuration;
5150

5251
public Initializer(Configuration configuration)

base/src/main/java/proguard/InputReader.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
*/
2121
package proguard;
2222

23-
import org.apache.logging.log4j.LogManager;
24-
import org.apache.logging.log4j.Logger;
2523
import proguard.classfile.kotlin.KotlinConstants;
2624
import proguard.classfile.util.*;
2725
import proguard.classfile.visitor.*;
@@ -45,7 +43,7 @@
4543
*/
4644
public class InputReader implements Pass
4745
{
48-
private static final Logger logger = LogManager.getLogger(InputReader.class);
46+
private static final Logger logger = Logger.getLogger(InputReader.class);
4947

5048
private static final boolean DONT_READ_LIBRARY_KOTLIN_METADATA = System.getProperty("proguard.dontreadlibrarykotlinmetadata") != null;
5149

base/src/main/java/proguard/KotlinMetadataAdapter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,18 @@
77

88
package proguard;
99

10-
import org.apache.logging.log4j.LogManager;
11-
import org.apache.logging.log4j.Logger;
1210
import proguard.classfile.io.kotlin.KotlinMetadataWriter;
1311
import proguard.classfile.kotlin.KotlinMetadataVersion;
1412
import proguard.classfile.kotlin.visitor.ReferencedKotlinMetadataVisitor;
1513
import proguard.classfile.visitor.ClassCounter;
1614
import proguard.pass.Pass;
15+
import proguard.util.Logger;
1716

1817

1918
public class KotlinMetadataAdapter
2019
implements Pass
2120
{
22-
private static final Logger logger = LogManager.getLogger(KotlinMetadataAdapter.class);
21+
private static final Logger logger = Logger.getLogger(KotlinMetadataAdapter.class);
2322

2423

2524
@Override

base/src/main/java/proguard/OutputWriter.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
*/
2121
package proguard;
2222

23-
import org.apache.logging.log4j.LogManager;
24-
import org.apache.logging.log4j.Logger;
2523
import proguard.classfile.ClassPool;
2624
import proguard.classfile.io.visitor.ProcessingFlagDataEntryFilter;
2725
import proguard.classfile.kotlin.KotlinConstants;
@@ -51,7 +49,7 @@
5149
*/
5250
public class OutputWriter implements Pass
5351
{
54-
private static final Logger logger = LogManager.getLogger(OutputWriter.class);
52+
private static final Logger logger = Logger.getLogger(OutputWriter.class);
5553
private final Configuration configuration;
5654

5755
public OutputWriter(Configuration configuration)

base/src/main/java/proguard/ProGuard.java

+3-8
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
*/
2121
package proguard;
2222

23-
import org.apache.logging.log4j.LogManager;
24-
import org.apache.logging.log4j.Logger;
2523
import proguard.backport.Backporter;
2624
import proguard.classfile.editor.ClassElementSorter;
2725
import proguard.classfile.pass.PrimitiveArrayConstantIntroducer;
@@ -45,10 +43,7 @@
4543
import proguard.preverify.SubroutineInliner;
4644
import proguard.shrink.Shrinker;
4745
import proguard.strip.KotlinAnnotationStripper;
48-
import proguard.util.ConstantMatcher;
49-
import proguard.util.ListParser;
50-
import proguard.util.NameParser;
51-
import proguard.util.StringMatcher;
46+
import proguard.util.*;
5247
import proguard.util.kotlin.KotlinUnsupportedVersionChecker;
5348
import proguard.util.kotlin.asserter.KotlinMetadataVerifier;
5449

@@ -62,7 +57,7 @@
6257
*/
6358
public class ProGuard
6459
{
65-
private static final Logger logger = LogManager.getLogger(ProGuard.class);
60+
private static final Logger logger = Logger.getLogger(ProGuard.class);
6661
public static final String VERSION = "ProGuard, version " + getVersion();
6762

6863
/**
@@ -91,7 +86,7 @@ public void execute() throws Exception
9186
{
9287
Logging.configureVerbosity(configuration.verbose);
9388

94-
logger.always().log(VERSION);
89+
logger.info(VERSION);
9590

9691
try
9792
{

base/src/main/java/proguard/SeedPrinter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,10 @@
2020
*/
2121
package proguard;
2222

23-
import org.apache.logging.log4j.LogManager;
24-
import org.apache.logging.log4j.Logger;
2523
import proguard.classfile.visitor.*;
2624
import proguard.optimize.*;
2725
import proguard.pass.Pass;
26+
import proguard.util.Logger;
2827
import proguard.util.PrintWriterUtil;
2928

3029
import java.io.*;
@@ -36,7 +35,7 @@
3635
*/
3736
public class SeedPrinter implements Pass
3837
{
39-
private static final Logger logger = LogManager.getLogger(SeedPrinter.class);
38+
private static final Logger logger = Logger.getLogger(SeedPrinter.class);
4039

4140
private final Configuration configuration;
4241

base/src/main/java/proguard/Targeter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,11 @@
2020
*/
2121
package proguard;
2222

23-
import org.apache.logging.log4j.LogManager;
24-
import org.apache.logging.log4j.Logger;
2523
import proguard.classfile.ClassPool;
2624
import proguard.classfile.util.ClassUtil;
2725
import proguard.classfile.visitor.ClassVersionSetter;
2826
import proguard.pass.Pass;
27+
import proguard.util.Logger;
2928

3029
import java.io.IOException;
3130
import java.util.*;
@@ -37,7 +36,7 @@
3736
*/
3837
public class Targeter implements Pass
3938
{
40-
private static final Logger logger = LogManager.getLogger(Targeter.class);
39+
private static final Logger logger = Logger.getLogger(Targeter.class);
4140
private final Configuration configuration;
4241

4342
public Targeter(Configuration configuration)

0 commit comments

Comments
 (0)