En la tarea de build de mi script Gradle, quiero obtener la marca de tiempo actual cada vez que construyo mi proyecto y guardarlo en un archivo en el directorio de recursos de mi proyecto. Si entiendo correctamente, debería poder llamar a los métodos de Java para lograr esto, algo como (en Kotlin):
val timestamp = SimpleDateFormat("yyyy-MM-dd-HH:mm:ss").format(Date()) Intentar importar mi script a IntelliJ falla con errores de referencia no resueltos ( SimpleDateFormat y Date ).
Usar el nombre completo tampoco funciona ( java.util.Date ); IntelliJ muestra que intenta tratar a java como el complemento de java .
Mi build.gradle.kts se ve así:
plugins { `java-library` kotlin("jvm") version "1.6.10" java idea application ... other plugins ... } tasks.build { val timestamp = SimpleDateFormat("MM-dd-yyyy_hh-mm").format(Date()) } ... other configuration ...¿Cómo puedo usar correctamente esas referencias? ¿Me falta un complemento específico o necesito adoptar un enfoque completamente diferente?
¿Ha intentado agregar una declaración de importación en la parte superior de su archivo build.gradle.kts ?
Lo más probable es que java se refiera a la tarea con el mismo nombre, porque está dentro del alcance de las tareas.
import java.util.Date import java.text.SimpleDateFormat plugins { ... } tasks.build { val timestamp = SimpleDateFormat("MM-dd-yyyy_hh-mm").format(Date()) } ... other configuration ... En lugar de usar la clase java.util.Date , recomiendo echar un vistazo a la nueva clase java.time.Instant .