Skip to content

Commit 72f8d15

Browse files
authored
Merge pull request #67
* Removed deprecated methods
1 parent 5c4f4f8 commit 72f8d15

5 files changed

Lines changed: 48 additions & 137 deletions

File tree

src/main/java/cpw/mods/jarhandling/JarMetadata.java

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import java.lang.module.ModuleDescriptor;
88
import java.nio.file.Path;
99
import java.util.List;
10-
import java.util.Set;
1110
import java.util.regex.Pattern;
1211

1312
public interface JarMetadata {
@@ -157,35 +156,4 @@ private static String cleanModuleName(String mn) {
157156

158157
return mn;
159158
}
160-
161-
/**
162-
* @deprecated Build from jar contents directly using {@link #from(JarContents)}.
163-
*/
164-
@Deprecated(forRemoval = true, since = "2.1.23")
165-
static SimpleJarMetadata fromFileName(final Path path, final Set<String> pkgs, final List<SecureJar.Provider> providers) {
166-
var nav = computeNameAndVersion(path);
167-
return new SimpleJarMetadata(nav.name(), nav.version(), () -> pkgs, providers);
168-
}
169-
170-
/**
171-
* @deprecated Use {@link #from(JarContents)} instead.
172-
*/
173-
@Deprecated(forRemoval = true, since = "2.1.16")
174-
static JarMetadata from(final SecureJar jar, final Path... path) {
175-
if (path.length==0) throw new IllegalArgumentException("Need at least one path");
176-
final var pkgs = jar.getPackages();
177-
var mi = jar.moduleDataProvider().findFile("module-info.class");
178-
if (mi.isPresent()) {
179-
return new ModuleJarMetadata(mi.get(), jar::getPackages);
180-
} else {
181-
var providers = jar.getProviders();
182-
var fileCandidate = fromFileName(path[0], pkgs, providers);
183-
var aname = jar.moduleDataProvider().getManifest().getMainAttributes().getValue("Automatic-Module-Name");
184-
if (aname != null) {
185-
return new SimpleJarMetadata(aname, fileCandidate.version(), () -> pkgs, providers);
186-
} else {
187-
return fileCandidate;
188-
}
189-
}
190-
}
191159
}

src/main/java/cpw/mods/jarhandling/SecureJar.java

Lines changed: 1 addition & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ public static Provider fromPath(final Path path, final BiPredicate<String, Strin
140140
try {
141141
var entries = Files.readAllLines(path).stream()
142142
.map(String::trim)
143-
.filter(l->l.length() > 0 && !l.startsWith("#")) // We support comments :)
143+
.filter(l-> !l.isEmpty() && !l.startsWith("#")) // We support comments :)
144144
.filter(p-> pkgFilter == null || pkgFilter.test(p.replace('.','/'), ""))
145145
.toList();
146146
return new Provider(sname, entries);
@@ -153,62 +153,4 @@ public static Provider fromPath(final Path path, final BiPredicate<String, Strin
153153
enum Status {
154154
NONE, INVALID, UNVERIFIED, VERIFIED
155155
}
156-
157-
/**
158-
* @deprecated Obtain via the {@link ModuleDescriptor} of the jar if you really need this.
159-
*/
160-
@Deprecated(forRemoval = true, since = "2.1.16")
161-
default Set<String> getPackages() {
162-
return moduleDataProvider().descriptor().packages();
163-
}
164-
165-
/**
166-
* @deprecated Obtain via the {@link ModuleDescriptor} of the jar if you really need this.
167-
*/
168-
@Deprecated(forRemoval = true, since = "2.1.16")
169-
default List<Provider> getProviders() {
170-
return moduleDataProvider().descriptor().provides().stream()
171-
.map(p -> new Provider(p.service(), p.providers()))
172-
.toList();
173-
}
174-
175-
/**
176-
* @deprecated Use {@link JarContentsBuilder} and {@link #from(JarContents)} instead.
177-
*/
178-
@Deprecated(forRemoval = true, since = "2.1.16")
179-
static SecureJar from(BiPredicate<String, String> filter, final Path... paths) {
180-
return from(jar->JarMetadata.from(jar, paths), filter, paths);
181-
}
182-
183-
/**
184-
* @deprecated Use {@link JarContentsBuilder} and {@link #from(JarContents)} instead.
185-
*/
186-
@Deprecated(forRemoval = true, since = "2.1.16")
187-
static SecureJar from(Function<SecureJar, JarMetadata> metadataSupplier, final Path... paths) {
188-
return from(Manifest::new, metadataSupplier, paths);
189-
}
190-
191-
/**
192-
* @deprecated Use {@link JarContentsBuilder} and {@link #from(JarContents)} instead.
193-
*/
194-
@Deprecated(forRemoval = true, since = "2.1.16")
195-
static SecureJar from(Function<SecureJar, JarMetadata> metadataSupplier, BiPredicate<String, String> filter, final Path... paths) {
196-
return from(Manifest::new, metadataSupplier, filter, paths);
197-
}
198-
199-
/**
200-
* @deprecated Use {@link JarContentsBuilder} and {@link #from(JarContents)} instead.
201-
*/
202-
@Deprecated(forRemoval = true, since = "2.1.16")
203-
static SecureJar from(Supplier<Manifest> defaultManifest, Function<SecureJar, JarMetadata> metadataSupplier, final Path... paths) {
204-
return from(defaultManifest, metadataSupplier, null, paths);
205-
}
206-
207-
/**
208-
* @deprecated Use {@link JarContentsBuilder} and {@link #from(JarContents)} instead.
209-
*/
210-
@Deprecated(forRemoval = true, since = "2.1.16")
211-
static SecureJar from(Supplier<Manifest> defaultManifest, Function<SecureJar, JarMetadata> metadataSupplier, BiPredicate<String, String> filter, final Path... paths) {
212-
return new Jar(defaultManifest, metadataSupplier, filter, paths);
213-
}
214156
}

src/main/java/cpw/mods/jarhandling/impl/Jar.java

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@
1313
import java.nio.file.Path;
1414
import java.nio.file.Paths;
1515
import java.security.CodeSigner;
16-
import java.util.*;
17-
import java.util.function.BiPredicate;
18-
import java.util.function.Function;
19-
import java.util.function.Supplier;
16+
import java.util.Optional;
2017
import java.util.jar.Attributes;
2118
import java.util.jar.Manifest;
2219

@@ -30,17 +27,6 @@ public class Jar implements SecureJar {
3027

3128
private final JarMetadata metadata;
3229

33-
@Deprecated(forRemoval = true, since = "2.1.16")
34-
public Jar(final Supplier<Manifest> defaultManifest, final Function<SecureJar, JarMetadata> metadataFunction, final BiPredicate<String, String> pathfilter, final Path... paths) {
35-
this.contents = new JarContentsImpl(paths, defaultManifest, pathfilter);
36-
this.manifest = contents.getManifest();
37-
this.signingData = contents.signingData;
38-
this.filesystem = contents.filesystem;
39-
40-
this.moduleDataProvider = new JarModuleDataProvider(this);
41-
this.metadata = metadataFunction.apply(this);
42-
}
43-
4430
public Jar(JarContentsImpl contents, JarMetadata metadata) {
4531
this.contents = contents;
4632
this.manifest = contents.getManifest();
@@ -107,16 +93,6 @@ public String name() {
10793
return metadata.name();
10894
}
10995

110-
@Override
111-
public Set<String> getPackages() {
112-
return contents.getPackages();
113-
}
114-
115-
@Override
116-
public List<Provider> getProviders() {
117-
return contents.getMetaInfServices();
118-
}
119-
12096
@Override
12197
public Path getPath(String first, String... rest) {
12298
return filesystem.getPath(first, rest);

src/test/java/cpw/mods/jarhandling/impl/TestDummyJarProvider.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -119,16 +119,6 @@ public boolean hasSecurityData() {
119119
return false;
120120
}
121121

122-
@Override
123-
public Set<String> getPackages() {
124-
return null;
125-
}
126-
127-
@Override
128-
public List<Provider> getProviders() {
129-
return null;
130-
}
131-
132122
@Override
133123
public String name() {
134124
return null;
Lines changed: 46 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,74 @@
11
package cpw.mods.jarhandling.impl;
22

3+
import cpw.mods.jarhandling.JarContents;
34
import cpw.mods.jarhandling.JarMetadata;
5+
import cpw.mods.jarhandling.SecureJar;
46
import org.junit.jupiter.api.Assertions;
57
import org.junit.jupiter.api.Test;
68

9+
import java.net.URI;
10+
import java.nio.file.Path;
711
import java.nio.file.Paths;
8-
import java.util.ArrayList;
9-
import java.util.HashSet;
12+
import java.util.List;
13+
import java.util.Optional;
14+
import java.util.Set;
15+
import java.util.jar.Manifest;
1016

1117
public class TestMetadata
1218
{
1319
@Test
14-
void testMavenJar()
15-
{
20+
void testMavenJar() {
1621
var path = Paths.get("startofthepathchain/new-protected-class-1.16.5/1.1_mapped_official_1.17.1/new-protected-class-1.16.5-1.1_mapped_official_1.17.1-api.jar");
17-
var meta = JarMetadata.fromFileName(path, new HashSet<>(), new ArrayList<>());
22+
var meta = JarMetadata.from(new FakeJarContent(path));
1823
Assertions.assertEquals("_new._protected._class._1._16._5", meta.name());
1924
Assertions.assertEquals("1.1_mapped_official_1.17.1", meta.version());
2025
}
2126

2227
@Test
23-
void testRootStart()
24-
{
28+
void testRootStart() {
2529
var path = Paths.get("/instance/mods/1life-1.5.jar");
26-
var meta = JarMetadata.fromFileName(path, new HashSet<>(), new ArrayList<>());
30+
var meta = JarMetadata.from(new FakeJarContent(path));
2731
Assertions.assertEquals("_1life", meta.name());
2832
Assertions.assertEquals("1.5", meta.version());
2933
}
3034

3135
@Test
32-
void testNumberStart()
33-
{
36+
void testNumberStart() {
3437
var path = Paths.get("mods/1life-1.5.jar");
35-
var meta = JarMetadata.fromFileName(path, new HashSet<>(), new ArrayList<>());
38+
var meta = JarMetadata.from(new FakeJarContent(path));
3639
Assertions.assertEquals("_1life", meta.name());
3740
Assertions.assertEquals("1.5", meta.version());
3841
}
42+
43+
record FakeJarContent(Path primaryPath) implements JarContents {
44+
@Override
45+
public Path getPrimaryPath() {
46+
return primaryPath;
47+
}
48+
49+
@Override
50+
public Optional<URI> findFile(String name) {
51+
return Optional.empty();
52+
}
53+
54+
@Override
55+
public Manifest getManifest() {
56+
return new Manifest();
57+
}
58+
59+
@Override
60+
public Set<String> getPackages() {
61+
return Set.of();
62+
}
63+
64+
@Override
65+
public Set<String> getPackagesExcluding(String... excludedRootPackages) {
66+
return Set.of();
67+
}
68+
69+
@Override
70+
public List<SecureJar.Provider> getMetaInfServices() {
71+
return List.of();
72+
}
73+
}
3974
}

0 commit comments

Comments
 (0)