1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-25 16:07:12 -07:00
kobalt/TODO.md
Cedric Beust 46cf29d393 TODO.
2015-11-05 11:19:13 -08:00

3.2 KiB

To do:

  • Get rid of the $JAVA_HOME requirement
  • Add a "Auto complete Build.kt" menu in the plug-in
  • "All artifacts successfully uploaded" is shown before the upload is actually done
  • use groupId/artifactId
  • Console mode with watch service, so recompilation can occur as soon as a source file is modified
  • ProjectGenerator: support migration from pom.xml (starting with dependencies)
  • Specify where to upload snapshots
  • Add the % download display in the Kotlin wrapper
  • Upload in a thread pool
  • repos() must appear before plugins(): fix that
  • Support version ranges
  • Generate .idea and other IDEA files
  • logs for users should not show any timestamp, class file or thread id, this should only be in --dev mode
  • Fetch .pom with DynamicGraph
  • Centralize all the executors
  • Archetypes (e.g. "--initWith kobalt-plug-in")
  • Compile TestNG (including generating Version.java and OSGi headers)
  • Storage API: Plugins.storage("myplugin").get/set()
  • Support additional .kt files in ~/.kobalt/src
  • generateArchive() should use Path instead of File
  • archetypes, e.g. --initWith kotlin
  • --init: import dependencies from build.gradle
  • --init: also extract kobalt.bat (or generate it along with kobaltw)
  • Bug: --tasks displays multiple tasks when there are multiple projects
  • Bug: ./kobaltw --dryRun kobalt:uploadJcenter runs "kobalt-wrapper:clean" twice
  • Replace File with java.nio.Files and Path
  • Create a wiki page for plugins
  • Make kobaltw executable in the zip file
  • Encapsulate ProcessBuilder code
  • --resolve

Done:

  • getDependencies() should return the transitive dependencies
  • Project ordering: kotlinProject(wrapper) {}
  • Make files appear in download list automatically on bintray (undocumented API)
  • Link kobalt to JCenter
  • uploadMaven
    • Create sources.jar
    • Create javadoc.jar
  • --update
  • Support .pom pointing to other deps (and no jars)
  • provided scope
  • --dryRun
  • --init: import dependencies from pom.xml
  • --checkVersions: displays which plugins have a newer version than the one specified in the build
  • Make it possible to target jar for individual projects: ./kobaltw kobalt:uploadJcenter
  • --buildFile doesn't use the local .kobalt directory
  • Better plugin() parsing
  • kobalt-wrapper.jar contains too much stuff, should be just com.beust.kobalt.wrapper.* + kotlin runtime or maybe just a straight Java class with minimal dependencies for fast start up
  • Add repos from the build file
  • Support tasks added in the build file
  • Replace "removePrefixes" with an overloaded include(prefix, file)
  • --init: Don't overwrite existing file
  • Handle snapshots/metadata: https://repository.jboss.org/nexus/content/repositories/root_repository//commons-lang/commons-lang/2.7-SNAPSHOT/commons-lang-2.7-SNAPSHOT.jar
  • JUnit
  • Compiler nowarn section
  • Parse plugins and repos in build files
  • Stop always recompiling preBuildScript.jar
  • Upload non maven files
  • Jar packaging: include the jar in the jar (not supported by JarFile)
  • Encapsulate BuildFile for better log messages