Skip to content

Commit

Permalink
feat: logging abstraction, automatic JPMS module name
Browse files Browse the repository at this point in the history
  • Loading branch information
zlataovce committed Aug 11, 2024
1 parent 4e643b4 commit 82ace0a
Show file tree
Hide file tree
Showing 85 changed files with 275 additions and 350 deletions.
30 changes: 30 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Build and publish

on:
push:
branches:
- master

permissions:
packages: write

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up Java
uses: actions/setup-java@v2
with:
java-version: 11
distribution: temurin
cache: gradle
- name: Build and publish
run: ./gradlew publishAllPublicationsToGithubRepository
env:
ORG_GRADLE_PROJECT_PROGUARD_GITHUB_USERNAME: ${{ github.repository_owner }}
ORG_GRADLE_PROJECT_PROGUARD_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
15 changes: 9 additions & 6 deletions base/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ plugins {

repositories {
mavenCentral()
maven {
url "https://jitpack.io"
}
}

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

dependencies {
api "com.guardsquare:proguard-core:${proguardCoreVersion}"
api "com.github.run-slicer.proguard-core:proguard-core:${proguardCoreVersion}"
implementation "com.google.code.gson:gson:${gsonVersion}"
implementation 'org.apache.logging.log4j:log4j-api:2.19.0'
implementation 'org.apache.logging.log4j:log4j-core:2.19.0'
implementation 'org.json:json:20231013'

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

testImplementation(testFixtures("com.guardsquare:proguard-core:${proguardCoreVersion}")) {
exclude group: 'com.guardsquare', module: 'proguard-core'
testImplementation(testFixtures("com.github.run-slicer.proguard-core:proguard-core:${proguardCoreVersion}")) {
exclude group: 'com.github.run-slicer.proguard-core', module: 'proguard-core'
}
}

jar {
manifest {
attributes(
'Multi-Release': true,
'Implementation-Version': archiveVersion.get())
'Implementation-Version': archiveVersion.get(),
'Automatic-Module-Name': 'proguard'
)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,11 @@

package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import proguard.classfile.*;
import proguard.classfile.util.ClassUtil;
import proguard.classfile.visitor.ClassVisitor;
import proguard.pass.Pass;
import proguard.util.Logger;

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

private static final Logger logger = LogManager.getLogger(AfterInitConfigurationVerifier.class);
private static final Logger logger = Logger.getLogger(AfterInitConfigurationVerifier.class);

public AfterInitConfigurationVerifier(Configuration configuration)
{
Expand Down
5 changes: 2 additions & 3 deletions base/src/main/java/proguard/ClassMemberChecker.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,11 @@
*/
package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import proguard.classfile.*;
import proguard.classfile.util.*;
import proguard.classfile.visitor.MemberVisitor;
import proguard.optimize.info.ReadWriteFieldMarker;
import proguard.util.Logger;

import java.util.List;

Expand All @@ -37,7 +36,7 @@
public class ClassMemberChecker
implements MemberVisitor
{
private static final Logger logger = LogManager.getLogger(ClassMemberChecker.class);
private static final Logger logger = Logger.getLogger(ClassMemberChecker.class);
private final ClassPool programClassPool;
private final WarningPrinter notePrinter;

Expand Down
5 changes: 2 additions & 3 deletions base/src/main/java/proguard/ConfigurationVerifier.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,9 @@
*/
package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import proguard.classfile.util.WarningLogger;
import proguard.classfile.util.WarningPrinter;
import proguard.util.Logger;

import java.io.*;

Expand All @@ -34,7 +33,7 @@
*/
public class ConfigurationVerifier
{
private static final Logger logger = LogManager.getLogger(ConfigurationVerifier.class);
private static final Logger logger = Logger.getLogger(ConfigurationVerifier.class);

private final Configuration configuration;

Expand Down
4 changes: 1 addition & 3 deletions base/src/main/java/proguard/ConfigurationWriter.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
*/
package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import proguard.classfile.*;
import proguard.classfile.util.ClassUtil;
import proguard.optimize.Optimizer;
Expand All @@ -38,7 +36,7 @@
*/
public class ConfigurationWriter implements AutoCloseable
{
private static final Logger logger = LogManager.getLogger(ConfigurationWriter.class);
private static final Logger logger = Logger.getLogger(ConfigurationWriter.class);

private static final String[] KEEP_OPTIONS = new String[]
{
Expand Down
5 changes: 2 additions & 3 deletions base/src/main/java/proguard/Dumper.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,9 @@

package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import proguard.classfile.visitor.*;
import proguard.pass.Pass;
import proguard.util.Logger;
import proguard.util.PrintWriterUtil;

import java.io.PrintWriter;
Expand All @@ -22,7 +21,7 @@
*/
public class Dumper implements Pass
{
private static final Logger logger = LogManager.getLogger(Dumper.class);
private static final Logger logger = Logger.getLogger(Dumper.class);

private final Configuration configuration;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,10 @@
*/
package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import proguard.classfile.*;
import proguard.classfile.util.*;
import proguard.classfile.visitor.*;
import proguard.util.Logger;

import java.util.*;

Expand All @@ -37,7 +36,7 @@
public class FullyQualifiedClassNameChecker
implements ClassVisitor
{
private static final Logger logger = LogManager.getLogger(FullyQualifiedClassNameChecker.class);
private static final Logger logger = Logger.getLogger(FullyQualifiedClassNameChecker.class);
private static final String INVALID_CLASS_EXTENSION = ClassUtil.internalClassName(ClassConstants.CLASS_FILE_EXTENSION);


Expand Down
6 changes: 3 additions & 3 deletions base/src/main/java/proguard/GPL.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
*/
package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import proguard.util.Logger;

import java.io.*;
import java.util.*;
Expand All @@ -33,7 +33,7 @@
*/
public class GPL
{
private static final Logger logger = LogManager.getLogger(GPL.class);
private static final Logger logger = Logger.getLogger(GPL.class);

/**
* Prints out a note about the GPL if ProGuard is linked against unknown
Expand Down
5 changes: 2 additions & 3 deletions base/src/main/java/proguard/Initializer.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
*/
package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import proguard.classfile.*;
import proguard.classfile.attribute.Attribute;
import proguard.classfile.attribute.annotation.visitor.*;
Expand All @@ -35,6 +33,7 @@
import proguard.resources.file.visitor.ResourceJavaReferenceClassInitializer;
import proguard.resources.kotlinmodule.util.KotlinModuleReferenceInitializer;
import proguard.util.*;
import proguard.util.Logger;

import java.io.*;
import java.util.*;
Expand All @@ -46,7 +45,7 @@
*/
public class Initializer implements Pass
{
private static final Logger logger = LogManager.getLogger(Initializer.class);
private static final Logger logger = Logger.getLogger(Initializer.class);
private final Configuration configuration;

public Initializer(Configuration configuration)
Expand Down
4 changes: 1 addition & 3 deletions base/src/main/java/proguard/InputReader.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
*/
package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import proguard.classfile.kotlin.KotlinConstants;
import proguard.classfile.util.*;
import proguard.classfile.visitor.*;
Expand All @@ -45,7 +43,7 @@
*/
public class InputReader implements Pass
{
private static final Logger logger = LogManager.getLogger(InputReader.class);
private static final Logger logger = Logger.getLogger(InputReader.class);

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

Expand Down
5 changes: 2 additions & 3 deletions base/src/main/java/proguard/KotlinMetadataAdapter.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,18 @@

package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import proguard.classfile.io.kotlin.KotlinMetadataWriter;
import proguard.classfile.kotlin.KotlinMetadataVersion;
import proguard.classfile.kotlin.visitor.ReferencedKotlinMetadataVisitor;
import proguard.classfile.visitor.ClassCounter;
import proguard.pass.Pass;
import proguard.util.Logger;


public class KotlinMetadataAdapter
implements Pass
{
private static final Logger logger = LogManager.getLogger(KotlinMetadataAdapter.class);
private static final Logger logger = Logger.getLogger(KotlinMetadataAdapter.class);


@Override
Expand Down
4 changes: 1 addition & 3 deletions base/src/main/java/proguard/OutputWriter.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
*/
package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import proguard.classfile.ClassPool;
import proguard.classfile.io.visitor.ProcessingFlagDataEntryFilter;
import proguard.classfile.kotlin.KotlinConstants;
Expand Down Expand Up @@ -51,7 +49,7 @@
*/
public class OutputWriter implements Pass
{
private static final Logger logger = LogManager.getLogger(OutputWriter.class);
private static final Logger logger = Logger.getLogger(OutputWriter.class);
private final Configuration configuration;

public OutputWriter(Configuration configuration)
Expand Down
11 changes: 3 additions & 8 deletions base/src/main/java/proguard/ProGuard.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
*/
package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import proguard.backport.Backporter;
import proguard.classfile.editor.ClassElementSorter;
import proguard.classfile.pass.PrimitiveArrayConstantIntroducer;
Expand All @@ -45,10 +43,7 @@
import proguard.preverify.SubroutineInliner;
import proguard.shrink.Shrinker;
import proguard.strip.KotlinAnnotationStripper;
import proguard.util.ConstantMatcher;
import proguard.util.ListParser;
import proguard.util.NameParser;
import proguard.util.StringMatcher;
import proguard.util.*;
import proguard.util.kotlin.KotlinUnsupportedVersionChecker;
import proguard.util.kotlin.asserter.KotlinMetadataVerifier;

Expand All @@ -62,7 +57,7 @@
*/
public class ProGuard
{
private static final Logger logger = LogManager.getLogger(ProGuard.class);
private static final Logger logger = Logger.getLogger(ProGuard.class);
public static final String VERSION = "ProGuard, version " + getVersion();

/**
Expand Down Expand Up @@ -91,7 +86,7 @@ public void execute() throws Exception
{
Logging.configureVerbosity(configuration.verbose);

logger.always().log(VERSION);
logger.info(VERSION);

try
{
Expand Down
5 changes: 2 additions & 3 deletions base/src/main/java/proguard/SeedPrinter.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,10 @@
*/
package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import proguard.classfile.visitor.*;
import proguard.optimize.*;
import proguard.pass.Pass;
import proguard.util.Logger;
import proguard.util.PrintWriterUtil;

import java.io.*;
Expand All @@ -36,7 +35,7 @@
*/
public class SeedPrinter implements Pass
{
private static final Logger logger = LogManager.getLogger(SeedPrinter.class);
private static final Logger logger = Logger.getLogger(SeedPrinter.class);

private final Configuration configuration;

Expand Down
5 changes: 2 additions & 3 deletions base/src/main/java/proguard/Targeter.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,11 @@
*/
package proguard;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import proguard.classfile.ClassPool;
import proguard.classfile.util.ClassUtil;
import proguard.classfile.visitor.ClassVersionSetter;
import proguard.pass.Pass;
import proguard.util.Logger;

import java.io.IOException;
import java.util.*;
Expand All @@ -37,7 +36,7 @@
*/
public class Targeter implements Pass
{
private static final Logger logger = LogManager.getLogger(Targeter.class);
private static final Logger logger = Logger.getLogger(Targeter.class);
private final Configuration configuration;

public Targeter(Configuration configuration)
Expand Down
Loading

0 comments on commit 82ace0a

Please sign in to comment.