Skip to content

Latest commit

 

History

History
90 lines (82 loc) · 4.29 KB

TODO.md

File metadata and controls

90 lines (82 loc) · 4.29 KB

To do:

Android:

General

  • KFiles.findSourceFiles should cache its results
  • createCompilerAction should calculate source files once and for all, including contributors and interceptors
  • Need a -resolve with no dependency which gives the tree for the whole project
  • If jitpack specified with http and not https, 301 is not handled correctly
  • Apt should run from serviceloader
  • 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
  • repos() must appear before plugins(): fix that
  • Generate .idea and other IDEA files
  • Fetch .pom with DynamicGraph
  • Centralize all the executors
  • Archetypes (e.g. "--initWith kobalt-plug-in")
  • Compile TestNG (last piece missing: OSGi headers)
  • Support additional .kt files in ~/.kobalt/src
  • --init: import dependencies from build.gradle
  • --init: also extract kobalt.bat (or generate it along with kobaltw)
  • Encapsulate ProcessBuilder code

Done:

  • Dex dependencies into kobaltBuild/intermediates/pre-dexed and preserve those across builds

  • Compile with javax.tool

  • Android: multiple -source/-target flags

  • Dokka: allow multiple format outputs e.g outputFormat("html", "javadoc")

  • Finish abstracting everything in JvmCompilerPlugin

  • Dependent projects: kobalt should automatically add the dependency on the jar file

  • Make what version preBuildScript.jar was compiled with and wipe on new version

  • Get rid of the $JAVA_HOME requirement

  • getDependencies() should return the transitive dependencies

  • Storage API: Plugins.storage("myplugin").get/set()

  • Add the % download display in the Kotlin wrapper

  • archetypes, e.g. --initWith kotlin

  • 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

  • The test runner only selects classes with a parameterless constructor, which works for JUnit but not for TestNG

  • 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 factories

  • Support version ranges

  • Upload in a thread pool

  • logs for users should not show any timestamp, class file or thread id, this should only be in --dev mode

  • Bug: --tasks displays multiple tasks when there are multiple projects

  • Bug: ./kobaltw --dryRun kobalt:uploadJcenter runs "kobalt-wrapper:clean" twice

  • Create a wiki page for plugins

  • Make kobaltw executable in the zip file

  • --resolve

  • Move the calculated applicationId back into the merged AndroidManifest.xml

  • Dex from android builder

  • Keep exploded aars between runs

  • aars keep being refetched

  • See if there is an android manifest file in builder

  • Auto add variant