Создайте цель муравья, чтобы получить подробную информацию о текущем проекте ANTJAVA

Программисты JAVA общаются здесь
Anonymous
Создайте цель муравья, чтобы получить подробную информацию о текущем проекте ANT

Сообщение Anonymous »

Это некоторые примеры проектов, которые создаются с использованием муравей. />Solr -8.11.4
Например, давайте возьмем другой инструмент сборки - SBT < /p>
У меня есть скрипт, в котором упоминается, является ли заданный проект SBT единым или многомодульным проектом. < /p>

Код: Выделить всё

import sbt._
import Keys._

val moduleType = taskKey[String]("Determines if the project is single or multi-module")

moduleType := {
val allProjects = thisProject.all(ScopeFilter(inAnyProject)).value

if (allProjects.size 
и еще один сценарий, в котором рассказывается о текущем проекте SBT.// Get all projects in the current session
val allProjects = thisProject.all(ScopeFilter(inAnyProject)).value

val extracted = Project.extract(state.value)
val structure = extracted.structure
val stateValue = state.value

// Get the root project (overall project) details
val rootProject = extracted.currentRef

val overallProjectOrg = extracted.get(organization in rootProject)
val overallProjectVersion = extracted.get(version in rootProject)

// Print overall project details
println(s"Group ID: $overallProjectOrg")
println(s"Version: $overallProjectVersion")
println()

// Function to determine the final scope based on priorities
def determineFinalScope(scopeStr: String): String = {
val priorities = List("compile", "runtime", "optional", "provided", "test")

val scopes = scopeStr.split(";").map(_.split("->").last.trim.toLowerCase).toList
priorities.find(scopes.contains).getOrElse("compile")
}

// Function to get the scope as a string
def getScope(scope: Option[String]): String = scope match {
case None => "compile"
case Some(s) => determineFinalScope(s)
}

allProjects.foreach { project =>

val projectRef = ProjectRef(extracted.currentRef.build, project.id)
val projectName = extracted.get(name in projectRef)
val projectOrg = extracted.get(organization in projectRef)
val projectVersion = extracted.get(version in projectRef)
println(s"Artifact: $projectOrg:$projectName:$projectVersion")

val baseDir = project.base.getAbsolutePath
println(s"Directory: $baseDir")

// Get and print the JAR location
val jarLocation = extracted.get(artifactPath in Compile in packageBin in projectRef)
println(s"JAR Location: $jarLocation")

// Print internal dependencies (dependencies on other modules within the project)
val internalDeps = project.dependencies.map { dep =>
val depProject = dep.project
val depModuleID = extracted.get(projectID in depProject)
val depScope = getScope(dep.configuration)
s"Internal: ${depModuleID.organization}:${depModuleID.name}:${depModuleID.revision}:$depScope"
}
internalDeps.foreach(println)

// Print external dependencies (third-party libraries)
val externalDeps = extracted.get(libraryDependencies in LocalProject(project.id))
externalDeps.foreach { dep =>
val depScope = getScope(dep.configurations)
println(s"External: ${dep.organization}:${dep.name}:${dep.revision}:$depScope")
}

println()
}
< /code>
} < /p>
Пример вывода для проекта SBT.  < /p>
Group ID: com.fasterxml.jackson.module
Version: HEAD+20250506-1103

Artifact: com.fasterxml.jackson.module:jackson-module-scala:HEAD+20250506-1103
Directory: /Users/me/Downloads/SBT_Projects/jackson-module-scala-2.15.2
JAR Location: /Users/me/Downloads/SBT_Projects/jackson-module-scala-2.15.2/target/scala-2.13/jackson-module-scala_2.13-HEAD+20250506-1103.jar
External: org.scala-lang:scala-library:2.13.10:compile
External: com.fasterxml.jackson.core:jackson-core:2.15.2:compile
External: com.fasterxml.jackson.core:jackson-annotations:2.15.2:compile
External: com.fasterxml.jackson.core:jackson-databind:2.15.2:compile
External: com.thoughtworks.paranamer:paranamer:2.8:compile
External: com.fasterxml.jackson.datatype:jackson-datatype-joda:2.15.2:test
External: com.fasterxml.jackson.datatype:jackson-datatype-guava:2.15.2:test
External: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.15.2:test
External: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.15.2:test
External: com.fasterxml.jackson.module:jackson-module-jsonSchema:2.15.2:test
External: javax.ws.rs:javax.ws.rs-api:2.1.1:test
External: io.swagger:swagger-core:1.6.8:test
External: org.scalatest:scalatest:3.2.15:test
Я хочу создать цель муравья, которая делает что -то подобное для муравьев.

Подробнее здесь: https://stackoverflow.com/questions/796 ... nt-project

Вернуться в «JAVA»