110 references to JavaBuildTool
Aspire.Hosting.Java (81)
JavaBuildResource.cs (2)
21internal sealed class JavaBuildResource(string name, string wrapperPath, string workingDirectory, JavaBuildTool tool) 27public JavaBuildTool Tool { get; } = tool;
JavaBuildToolAnnotation.cs (6)
25internal sealed class JavaBuildToolAnnotation(JavaBuildTool tool, string[] args) : IResourceAnnotation 30public JavaBuildTool Tool { get; } = tool; 51internal sealed record JavaBuildStepAnnotation(string? ResourceName, JavaBuildTool Tool, string[] Args) : IResourceAnnotation; 74internal (string[] BuildArgs, string[] LaunchArgs) GetConfiguration(JavaBuildTool tool) => tool switch 76JavaBuildTool.Maven => (MavenBuildArgs, MavenLaunchArgs), 77JavaBuildTool.Gradle => (GradleBuildArgs, GradleLaunchArgs),
JavaBuildToolResolver.cs (13)
26internal static JavaBuildTool? Detect( 46(true, false) => JavaBuildTool.Maven, 47(false, true) => JavaBuildTool.Gradle, 67internal static string ResolveWrapperPath(JavaAppResource resource, JavaBuildTool tool, bool isWindows) 82private static string? FindWrapperInBuildRoot(string appDirectory, string wrapperName, JavaBuildTool tool) 112private static bool IsBuildRoot(string directory, JavaBuildTool tool) => tool switch 116JavaBuildTool.Gradle => File.Exists(Path.Combine(directory, "settings.gradle")) 120JavaBuildTool.Maven => File.Exists(Path.Combine(directory, "pom.xml")), 192internal static string GetDefaultWrapperName(JavaBuildTool tool, bool isWindows) => (tool, isWindows) switch 194(JavaBuildTool.Maven, true) => "mvnw.cmd", 195(JavaBuildTool.Maven, false) => "mvnw", 196(JavaBuildTool.Gradle, true) => "gradlew.bat", 197(JavaBuildTool.Gradle, false) => "gradlew",
JavaDockerfileGenerator.cs (22)
98internal static (JavaBuildTool Tool, string[] Args) ResolveBuildTool(JavaAppResource resource, string appDirectory) 450private static JavaBuildTool? DetectBuildToolForPublish(JavaAppResource resource, string appDirectory) 646JavaBuildTool Tool, 694JavaBuildTool.Maven => ("target/*.jar", "/root/.m2", "repository", (string?)null, ".mvn", "-B -ntp --version"), 695JavaBuildTool.Gradle => ("build/libs/*.jar", "/root/.gradle", "caches", "GRADLE_USER_HOME", "gradle", "--no-daemon --version"), 703var outputDirectory = tool is JavaBuildTool.Gradle ? "build" : "target"; 705var requiresUnzip = tool is JavaBuildTool.Maven 770private static bool SelectsDependenciesByBuildArchitecture(string appDirectory, JavaBuildTool tool) 772string[] fileNames = tool is JavaBuildTool.Gradle 839private static (int Minimum, int Maximum) ResolveBuildJdkBounds(string appDirectory, string wrapperSupportPath, JavaBuildTool tool) 875var match = (tool is JavaBuildTool.Gradle ? GradleDistributionRegex() : MavenDistributionRegex()).Match(distributionUrl); 881if (tool is JavaBuildTool.Maven) 984JavaBuildTool tool, 1031private static string ResolveWrapperForContext(JavaAppResource resource, string appDirectory, JavaBuildTool tool) 1103internal static (JavaBuildTool Tool, string[] Args) ResolveToolAndArgs(JavaAppResource resource, string appDirectory) 1123private static string[] WithoutGradleDaemon(JavaBuildTool tool, string[] args) 1125if (tool is not JavaBuildTool.Gradle 1137private static (JavaBuildTool Tool, string[] Args) ResolveConfiguredToolAndArgs(JavaAppResource resource, string appDirectory) 1148var tool = resource.TryGetLastAnnotation<JavaBuildToolAnnotation>(out var launch) 1181private static string[] DefaultPackageArgs(JavaBuildTool tool) => tool switch 1186JavaBuildTool.Maven => ["-B", "-ntp", "-DskipTests", "package"], 1187JavaBuildTool.Gradle => ["-x", "test", "build"],
JavaHostingExtensions.cs (35)
43JavaBuildToolResolver.GetDefaultWrapperName(JavaBuildTool.Maven, RuntimeInformation.IsOSPlatform(OSPlatform.Windows)); 45JavaBuildToolResolver.GetDefaultWrapperName(JavaBuildTool.Gradle, RuntimeInformation.IsOSPlatform(OSPlatform.Windows)); 529private static JavaBuildTool RequireBuildTool(string workingDirectory, string resourceName) 590private static (JavaBuildTool Tool, (string[] BuildArgs, string[] LaunchArgs) Configuration) ResolveDetectedBuildTool( 594var tool = TryResolveConfiguredBuildTool(resource, out var configuredTool) 601private static bool TryResolveConfiguredBuildTool(JavaAppResource resource, out JavaBuildTool tool) 650return builder.WithBuildToolLaunch(JavaBuildTool.Maven, goal, args, nameof(WithMavenGoal)); 678return builder.WithBuildToolLaunch(JavaBuildTool.Gradle, task, args, nameof(WithGradleTask)); 683JavaBuildTool tool, 761JavaBuildTool.Maven, 794JavaBuildTool.Gradle, 801JavaBuildTool tool, 1145JavaBuildTool tool; 1162var outputDirectory = tool is JavaBuildTool.Gradle ? "build" : "target"; 1309if (!TryResolveConfiguredBuildTool(builder.Resource, out var tool)) 1322buildResourceName: $"{builder.Resource.Name}-{(tool is JavaBuildTool.Gradle ? "gradle" : "maven")}-build", 1330private static string[] DefaultBuildArgs(JavaBuildTool tool) => 1331tool is JavaBuildTool.Gradle ? ["clean", "build"] : ["clean", "package"]; 1385JavaBuildTool tool; 1483private static (string Command, string[] LeadingArgs) ResolveWrapperInvocation(JavaAppResource resource, JavaBuildTool tool) 1526private static void ValidateWrapperExists(JavaAppResource resource, JavaBuildTool tool) 1557JavaBuildTool tool) where T : JavaAppResource 1578internal static string GenerateWrapperCommand(JavaBuildTool tool) => tool switch 1582JavaBuildTool.Maven => "'mvn -N wrapper:wrapper'", 1583JavaBuildTool.Gradle => "'gradle wrapper'", 1783BuildTool = TryResolveConfiguredBuildTool(builder.Resource, out var buildTool) 1861if (!TryResolveConfiguredBuildTool(resource, out var buildTool)) 1870JavaBuildTool.Maven => Path.Combine(resource.WorkingDirectory, "target"), 1871JavaBuildTool.Gradle => Path.Combine(resource.WorkingDirectory, "build", "libs"), 1943|| !TryResolveConfiguredBuildTool(resource, out var buildTool)) 1950buildTool is JavaBuildTool.Gradle ? "build" : "target", 1983if (!TryResolveConfiguredBuildTool(resource, out var buildTool)) 1990JavaBuildTool.Maven => TryReadMavenArtifactId(Path.Combine(resource.WorkingDirectory, "pom.xml")), 1991JavaBuildTool.Gradle => TryReadGradleProjectName(resource.WorkingDirectory),
JavaVersionDetector.cs (2)
39public static string Detect(string appDirectory, JavaBuildTool? tool = null) 41string?[] candidates = tool is JavaBuildTool.Gradle
JavaWrapperValidationAnnotation.cs (1)
16internal sealed record JavaWrapperValidationAnnotation(JavaBuildTool Tool) : IResourceAnnotation;
Aspire.Hosting.Java.Tests (29)
AddJavaAppPublishTests.cs (6)
674var tool = toolName is "gradle" ? JavaBuildTool.Gradle : JavaBuildTool.Maven; 691Assert.Equal("17", JavaVersionDetector.Detect(appDirectory.Path, JavaBuildTool.Gradle)); 806Assert.Equal(JavaBuildTool.Gradle, tool); 824Assert.Equal(JavaBuildTool.Gradle, tool);
AddJavaAppTests.cs (9)
1035Assert.Equal(JavaBuildTool.Maven, Assert.IsType<JavaBuildResource>(builder.Resources.First(r => r.Name == "api-maven-build")).Tool); 1048Assert.Equal(JavaBuildTool.Maven, Assert.IsType<JavaBuildResource>(buildResource).Tool); 1061Assert.Equal(JavaBuildTool.Gradle, Assert.IsType<JavaBuildResource>(builder.Resources.First(r => r.Name == "api-gradle-build")).Tool); 1074Assert.Equal(JavaBuildTool.Gradle, Assert.IsType<JavaBuildResource>(buildResource).Tool); 1102[InlineData(nameof(JavaBuildTool.Maven), true)] 1103[InlineData(nameof(JavaBuildTool.Maven), false)] 1104[InlineData(nameof(JavaBuildTool.Gradle), true)] 1105[InlineData(nameof(JavaBuildTool.Gradle), false)] 1112if (toolName is nameof(JavaBuildTool.Maven))
AddSpringBootAppTests.cs (3)
78var runTool = Assert.Single(runApp.Resource.Annotations.OfType<JavaBuildToolAnnotation>()).Tool; 84Assert.Equal(JavaBuildTool.Gradle, runTool); 389Assert.Equal(JavaBuildTool.Maven, Assert.IsType<JavaBuildResource>(buildResource).Tool);
JavaBuildToolResolverTests.cs (11)
11[InlineData(nameof(JavaBuildTool.Maven), false, "mvnw")] 12[InlineData(nameof(JavaBuildTool.Maven), true, "mvnw.cmd")] 13[InlineData(nameof(JavaBuildTool.Gradle), false, "gradlew")] 14[InlineData(nameof(JavaBuildTool.Gradle), true, "gradlew.bat")] 22var tool = Enum.Parse<JavaBuildTool>(toolName); 38var wrapperPath = JavaBuildToolResolver.ResolveWrapperPath(app.Resource, JavaBuildTool.Maven, isWindows); 52var wrapperPath = JavaBuildToolResolver.ResolveWrapperPath(resource, JavaBuildTool.Maven, isWindows: false); 76var wrapperPath = JavaBuildToolResolver.ResolveWrapperPath(resource, JavaBuildTool.Maven, isWindows: false); 103var wrapperPath = JavaBuildToolResolver.ResolveWrapperPath(resource, JavaBuildTool.Maven, isWindows: false); 127var wrapperPath = JavaBuildToolResolver.ResolveWrapperPath(resource, JavaBuildTool.Maven, isWindows: false);