Skip to content

Commit 4ed4014

Browse files
authored
Merge pull request #20 from FabricCompatibilityLayers/feature/refactor-relocation
Some internal clean up and api relocation
2 parents 5dd17ad + abde202 commit 4ed4014

39 files changed

+1832
-1477
lines changed

.github/workflows/build_and_publish.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
name: Build and Publish
2-
on: [push, pull_request, workflow_dispatch]
2+
on: push
33
jobs:
44
build:
55
runs-on: ubuntu-latest
66
steps:
77
- uses: actions/checkout@v4
8+
with:
9+
fetch-depth: '0'
810
- name: Validate Gradle Wrapper
911
uses: gradle/wrapper-validation-action@v3
1012
- name: Set up JDK 17
@@ -19,7 +21,8 @@
1921
- name: Test
2022
run: ./gradlew test check
2123

22-
- name: Sonar
24+
- if: github.repository == 'FabricCompatibilityLayers/Mod-Remapping-API'
25+
name: Sonar
2326
run: ./gradlew jacocoTestCoverageVerification jacocoTestReport sonar
2427
env:
2528
SONAR_URL: ${{ secrets.SONAR_URL }}

.github/workflows/pull_request.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Build and Publish
2+
on: [pull_request]
3+
jobs:
4+
build:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- uses: actions/checkout@v4
8+
- name: Validate Gradle Wrapper
9+
uses: gradle/wrapper-validation-action@v3
10+
- name: Set up JDK 17
11+
uses: actions/setup-java@v4
12+
with:
13+
java-version: 17
14+
distribution: temurin
15+
16+
- name: Build
17+
run: ./gradlew build -x test
18+
19+
- name: Test
20+
run: ./gradlew test check
21+
22+
- name: Store reports if any
23+
if: failure()
24+
uses: actions/upload-artifact@v4
25+
with:
26+
name: reports
27+
path: |
28+
**/build/reports/
29+
**/build/test-results/
Lines changed: 19 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,34 @@
11
package fr.catcore.modremapperapi;
22

3-
import com.google.common.collect.ImmutableSet;
43
import fr.catcore.modremapperapi.api.IClassTransformer;
5-
import net.mine_diver.spasm.api.transform.RawClassTransformer;
6-
import net.mine_diver.spasm.api.transform.TransformationPhase;
7-
import net.mine_diver.spasm.impl.SpASM;
8-
import org.jetbrains.annotations.NotNull;
9-
10-
import java.util.HashSet;
11-
import java.util.Optional;
12-
import java.util.Set;
13-
14-
public class ClassTransformer implements RawClassTransformer {
15-
private static final Set<IClassTransformer> PRE_TRANSFORMERS = new HashSet<>();
16-
private static final Set<IClassTransformer> POST_TRANSFORMERS = new HashSet<>();
17-
18-
public static byte[] transform(String name, String transformedName, byte[] basicClass) {
19-
Set<IClassTransformer> transformers = new HashSet<>();
20-
21-
Set<IClassTransformer> transformerPool = PRE_TRANSFORMERS;
22-
23-
if (SpASM.getCurrentPhase() == TransformationPhase.AFTER_MIXINS) {
24-
transformerPool = POST_TRANSFORMERS;
25-
}
26-
27-
for (IClassTransformer transformer : transformerPool) {
28-
if (transformer.handlesClass(name, transformedName)) {
29-
transformers.add(transformer);
30-
}
31-
}
32-
33-
byte[] modifiedClass = basicClass;
34-
35-
for (IClassTransformer transformer : transformers) {
36-
modifiedClass = transformer.transformClass(name, transformedName, modifiedClass);
37-
}
38-
39-
return modifiedClass;
40-
}
414

5+
/**
6+
* @deprecated Use utility methods on {@link io.github.fabriccompatibiltylayers.modremappingapi.api.v1.ClassTransformer} instead.
7+
*/
8+
@Deprecated
9+
public class ClassTransformer {
10+
/**
11+
* @deprecated Deprecated in favor of {@link ClassTransformer#registerPreTransformer(IClassTransformer)}.
12+
* @param transformer
13+
*/
4214
@Deprecated
4315
public static void registerTransformer(IClassTransformer transformer) {
4416
registerPreTransformer(transformer);
4517
}
4618

19+
/**
20+
* @deprecated Use {@link io.github.fabriccompatibiltylayers.modremappingapi.api.v1.ClassTransformer#registerPreTransformer(io.github.fabriccompatibiltylayers.modremappingapi.api.v1.ClassTransformer)} instead.
21+
*/
22+
@Deprecated
4723
public static void registerPreTransformer(IClassTransformer transformer) {
48-
PRE_TRANSFORMERS.add(transformer);
24+
io.github.fabriccompatibiltylayers.modremappingapi.api.v1.ClassTransformer.registerPreTransformer(transformer);
4925
}
5026

27+
/**
28+
* @deprecated Use {@link io.github.fabriccompatibiltylayers.modremappingapi.api.v1.ClassTransformer#registerPostTransformer(io.github.fabriccompatibiltylayers.modremappingapi.api.v1.ClassTransformer)} instead.
29+
*/
30+
@Deprecated
5131
public static void registerPostTransformer(IClassTransformer transformer) {
52-
POST_TRANSFORMERS.add(transformer);
53-
}
54-
55-
@Override
56-
public @NotNull Optional<byte[]> transform(@NotNull ClassLoader classLoader, @NotNull String className, byte @NotNull [] bytes) {
57-
byte[] modifiedBytes = bytes;
58-
modifiedBytes = transform(className, className, modifiedBytes);
59-
60-
if (modifiedBytes != null) {
61-
return Optional.of(modifiedBytes);
62-
}
63-
64-
return Optional.empty();
65-
}
66-
67-
@Override
68-
public @NotNull ImmutableSet<TransformationPhase> getPhases() {
69-
return ALL_PHASES;
32+
io.github.fabriccompatibiltylayers.modremappingapi.api.v1.ClassTransformer.registerPostTransformer(transformer);
7033
}
7134
}
Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
11
package fr.catcore.modremapperapi;
22

3-
import fr.catcore.modremapperapi.api.ModRemapper;
43
import io.github.fabriccompatibiltylayers.modremappingapi.impl.ModRemappingAPIImpl;
5-
import net.fabricmc.loader.api.FabricLoader;
6-
7-
import java.io.File;
8-
import java.util.ArrayList;
9-
import java.util.List;
104

5+
@Deprecated
116
public class ModRemappingAPI {
12-
13-
public static final boolean BABRIC = FabricLoader.getInstance().getModContainer("fabricloader")
14-
.get().getMetadata().getVersion().getFriendlyString().contains("babric");
7+
@Deprecated
8+
public static final boolean BABRIC = ModRemappingAPIImpl.BABRIC;
159
}
Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package fr.catcore.modremapperapi.api;
22

3-
// Original author is gudenau.
4-
public interface IClassTransformer {
5-
boolean handlesClass(String name, String transformedName);
6-
byte[] transformClass(String name, String transformedName, byte[] original);
3+
import io.github.fabriccompatibiltylayers.modremappingapi.api.v1.ClassTransformer;
4+
5+
/**
6+
* @deprecated Use {@link ClassTransformer} instead.
7+
*/
8+
@Deprecated
9+
public interface IClassTransformer extends ClassTransformer {
710
}

src/main/java/fr/catcore/modremapperapi/remapping/MapEntryType.java

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)