Skip to content
This repository has been archived by the owner on Jun 10, 2020. It is now read-only.

Import sbt-web's incremental build support #207

Closed
wants to merge 1 commit into from

Conversation

jroper
Copy link
Member

@jroper jroper commented Aug 12, 2019

Fixes sbt/sbt#4940

This is an import of sbt-webs incremental build support:

https://github.com/sbt/sbt-web/blob/8ddcba1d8a27da79071d2af9c7734524b910f542/src/main/scala/com/typesafe/sbt/web/incremental/package.scala

This offers change tracking not just of files, but of settings as well, and also allows for including input files that are not discovered until compilation (eg files that are imported).

It's been successfully used by a large number of sbt-web plugins, and would be useful outside of sbt-web too, anything that does compilation, can track dependent files of a single compilation unit, and is dependent upon user defined settings, would find it useful.

It has been changed from sbt-web to use CacheStore with JSON, and also to use the FileInfo.Style abstraction to allow users to select whether they want hashing or last modified change detection - sbt-web only used hashing.

Fixes sbt/sbt#4940

This is an import of sbt-webs incremental build support:

https://github.com/sbt/sbt-web/blob/8ddcba1d8a27da79071d2af9c7734524b910f542/src/main/scala/com/typesafe/sbt/web/incremental/package.scala

This offers change tracking not just of files, but of settings as well,
and also allows for including input files that are not discovered until
compilation (eg files that are imported).

It's been successfully used by a large number of sbt-web plugins, and
would be useful outside of sbt-web too, anything that does compilation,
can track dependent files of a single compilation unit, and is dependent
upon user defined settings, would find it useful.

It has been changed from sbt-web to use CacheStore with JSON, and also
to use the FileInfo.Style abstraction to allow users to select whether
they want hashing or last modified change detection - sbt-web only used
hashing.
@nafg
Copy link

nafg commented Aug 19, 2019

Slightly related, I've often wanted to update scalacOptions without causing a full recompile. If this new mechanism has or can have a way to control whether to invalidate based on settings, and existing code is rewritten to use the new general mechanism, that would be nice.

@eed3si9n
Copy link
Member

util moved to sbt/sbt.

@eed3si9n eed3si9n closed this Jun 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Better cached compilation support for plugins
3 participants