Skip to content

Commit 93b1bc3

Browse files
committed
Update
1 parent 45dca0c commit 93b1bc3

4 files changed

Lines changed: 50 additions & 17 deletions

File tree

build.gradle

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,6 @@ apply plugin: 'com.github.johnrengelman.shadow'
4545
apply plugin: 'java'
4646
apply plugin: 'maven-publish'
4747

48-
def getCommitNumber = {
49-
def proc = 'git rev-list --count master'.execute()
50-
proc.waitFor()
51-
return proc.text.trim()
52-
}
53-
5448
group = 'org.mangorage'
5549
version = getLatestGitTag() + "." + getLatestGitVersion()
5650

src/main/java/org/mangorage/mangobotgradle/tasks/DatagenTask.java

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,17 @@
2222

2323
package org.mangorage.mangobotgradle.tasks;
2424

25+
import com.google.gson.Gson;
26+
import com.google.gson.GsonBuilder;
2527
import org.gradle.api.Project;
2628
import org.gradle.api.artifacts.ModuleVersionIdentifier;
2729
import org.gradle.api.artifacts.ResolvedDependency;
2830
import org.gradle.api.artifacts.repositories.MavenArtifactRepository;
2931
import org.mangorage.mangobotgradle.MangoBotGradlePlugin;
3032
import org.mangorage.mangobotgradle.core.resolvers.ResolveDependency;
3133
import org.mangorage.mangobotgradle.core.resolvers.Resolver;
34+
import org.mangorage.mangobotgradle.types.Dependencies;
35+
import org.mangorage.mangobotgradle.types.Dependency;
3236

3337
import java.io.BufferedWriter;
3438
import java.io.FileWriter;
@@ -41,6 +45,8 @@
4145
import java.util.function.Predicate;
4246

4347
public class DatagenTask {
48+
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
49+
4450
private static final List<String> mavenRepositories = List.of(
4551
"https://repo.maven.apache.org/maven2/",
4652
"https://repo1.maven.org/maven2/"
@@ -89,7 +95,7 @@ public static ResolveDependency resolve(ResolveDependency preDep) {
8995
}
9096

9197

92-
public static void getTransitiveDep(List<String> repos, ResolvedDependency dependency, Predicate<ModuleVersionIdentifier> checker, ArrayList<String> deps, ArrayList<ModuleVersionIdentifier> identifiers, ArrayList<String> urls) {
98+
public static void getTransitiveDep(List<String> repos, ResolvedDependency dependency, Predicate<ModuleVersionIdentifier> checker, ArrayList<String> deps, ArrayList<ModuleVersionIdentifier> identifiers, ArrayList<Dependency> urls) {
9399
var dep = dependency.getModule().getId();
94100
String id = dep.toString();
95101

@@ -108,7 +114,15 @@ public static void getTransitiveDep(List<String> repos, ResolvedDependency depen
108114
var result = generate(repos, path);
109115

110116
if (result != null) {
111-
urls.add("%s %s %s %s %s-%s.jar".formatted(result, resolved.groupID(), resolved.nameID(), resolved.versionID(), resolved.nameID2(), resolved.versionID2()));
117+
urls.add(
118+
new Dependency(
119+
result,
120+
resolved.groupID(),
121+
resolved.nameID(),
122+
resolved.versionID(),
123+
"%s-%s.jar".formatted(resolved.nameID2(), resolved.versionID2())
124+
)
125+
);
112126
}
113127
}
114128

@@ -143,7 +157,7 @@ public static void apply(Project project, MangoBotGradlePlugin gradleUtilsPlugin
143157
var repos = getAllRepositories(project);
144158
var deps = new ArrayList<String>();
145159
var idents = new ArrayList<ModuleVersionIdentifier>();
146-
var urls = new ArrayList<String>();
160+
var urls = new ArrayList<Dependency>();
147161

148162
var conf = project.getConfigurations().getByName("library");
149163

@@ -156,7 +170,7 @@ public static void apply(Project project, MangoBotGradlePlugin gradleUtilsPlugin
156170
System.out.printf("%s dependencies%n", deps.size());
157171

158172
var projectRootDir = project.getProjectDir().toPath();
159-
var depsFile = projectRootDir.resolve("src/main/resources/installerdata/deps.txt").toFile();
173+
var depsFile = projectRootDir.resolve("src/main/resources/installer-data/dependencies.txt").toFile();
160174

161175

162176
try {
@@ -167,13 +181,7 @@ public static void apply(Project project, MangoBotGradlePlugin gradleUtilsPlugin
167181
}
168182

169183
try (BufferedWriter writer = new BufferedWriter(new FileWriter(depsFile))) {
170-
urls.forEach(a -> {
171-
try {
172-
writer.write(a + "\n");
173-
} catch (IOException e) {
174-
throw new RuntimeException(e);
175-
}
176-
});
184+
writer.write(GSON.toJson(new Dependencies(urls)));
177185
writer.close();
178186
System.out.println("Dependencies have been generated to: " + depsFile);
179187
} catch (IOException e) {
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package org.mangorage.mangobotgradle.types;
2+
3+
4+
import java.util.List;
5+
6+
public record Dependencies(List<Dependency> dependencies) {}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright (c) 2023. MangoRage
3+
*
4+
* Permission is hereby granted, free of charge, to any person obtaining a copy
5+
* of this software and associated documentation files (the "Software"), to deal
6+
* in the Software without restriction, including without limitation the rights
7+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8+
* copies of the Software, and to permit persons to whom the Software is
9+
* furnished to do so, subject to the following conditions:
10+
*
11+
* The above copyright notice and this permission notice shall be included in all
12+
* copies or substantial portions of the Software.
13+
*
14+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17+
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18+
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19+
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
20+
* OR OTHER DEALINGS IN THE SOFTWARE.
21+
*/
22+
23+
package org.mangorage.mangobotgradle.types;
24+
25+
public record Dependency(String url, String group, String artifact, String version, String target) {}

0 commit comments

Comments
 (0)