-
Notifications
You must be signed in to change notification settings - Fork 434
Check build hints at compile time instead of shipping them inert #5586
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
shai-almog
wants to merge
108
commits into
master
Choose a base branch
from
build-hint-annotations
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
108 commits
Select commit
Hold shift + click to select a range
8d2cfcf
Check build hints at compile time instead of shipping them inert
shai-almog d243535
Commit the catalog sources that .gitignore was swallowing
shai-almog d727c7d
Stop the bootstrap doing its work at import time
shai-almog 96bff90
Make the generated docs and sources survive the ASCII and prose gates
shai-almog a343fe3
Give ThreadSafeDatabaseTest headroom under the FormTest timeout
shai-almog 0edef42
Refuse to migrate a project that never runs process-annotations
shai-almog 2803847
Do not migrate the guide's snippet project, and keep Settings from du…
shai-almog 53da7c3
Defer the generated-project templates to a follow-up
shai-almog 8b50565
Annotate inside the integration test, not in the archetype
shai-almog b2e0e86
Four migration and Settings defects from review
shai-almog fd05dfa
Require the process-annotations binding on the module that owns the m…
shai-almog 3037e76
Require an execution that can actually see compiled classes
shai-almog af8ff86
Stop the generated simulator schema duplicating the hand-written one
shai-almog 586e6bc
Prove the annotations are processed instead of predicting it
shai-almog b1dff60
Round-trip the rollback snapshot, and stop trusting a stale manifest
shai-almog 76cd1dc
Preserve source bytes, and stop comments confusing the annotation sca…
shai-almog 8be6d5f
Refuse a build whose annotations were never processed
shai-almog fb5a6c7
Do not refuse a build over an annotation that sets nothing
shai-almog 51fb76a
Tell a current annotation manifest from last build's
shai-almog 9c5a586
Give the same answer whether or not target/classes was cleaned
shai-almog 43f73f1
Merge remote-tracking branch 'origin/master' into build-hint-annotations
shai-almog b6f16f2
Catalogue the ten build hints the Wear change added
shai-almog eb58dac
Write the new catalog rows in the guide's own voice
shai-almog a5f8dbb
Merge remote-tracking branch 'origin/master' into build-hint-annotations
shai-almog 9437da7
Stop the catalog gate claiming coverage it never checked
shai-almog 2cf0842
Verify the migration the way a real build runs
shai-almog 01816a1
Read the project as configured, and the source as code
shai-almog d013397
Retry the repository failure that was not on the list
shai-almog 3fbc47f
Ask the build where it wrote, and key the gate by what it reads
shai-almog 9162f41
Collapse the two capture-record spellings, and stop guessing
shai-almog 392e2a5
Let the simulator see a duplicate declaration too
shai-almog 01e471f
Take the published hints back out on a simulator reload
shai-almog cd00b3a
Read a text block the way its own language does
shai-almog b465921
Find the hints that live in a table
shai-almog a1fd203
Render the guide's hint table instead of committing it
shai-almog ffb6715
Migrate a legacy spelling to the name the build emits
shai-almog 7e8e7e2
Run the docs checks when the table's inputs change
shai-almog 186a75c
Accept what the runtime accepts, and ask Maven where the sources are
shai-almog a83dbff
Identify a class by what it declares, not where it sits
shai-almog 7c6d949
Describe the plist keys we inject, individually
shai-almog d29969e
Ask about the main class, not about every class file
shai-almog 3235077
Refuse the value we cannot read, and read declarations as code
shai-almog 80e6c2a
Find the main class by what declares it, everywhere
shai-almog dc257e1
Migrate only a value already spelled the way the build reads it
shai-almog a992843
Stop skipping the attribute the orphan filter reads
shai-almog d8c148a
Count braces over code, and read the whole file
shai-almog 2034b41
Follow the language's own rules for imports, packages and scope
shai-almog bb30a7e
Stop a hint value from forging the digest around it
shai-almog bd903c4
Store the spelling that works, and put the import above the annotations
shai-almog 73974eb
Read imports forwards, and triple quotes by language
shai-almog fcc1c37
Guard the form the ownership rule was not applied to
shai-almog e4a5123
Judge a Kotlin nested path only as far as Kotlin lets us
shai-almog 272939c
Tell a Kotlin function segment from a deleted nested type
shai-almog 8ee8a47
Merge master, and catalogue the hints it brought
shai-almog 4cdf81c
Find the package declaration in code, and clear the whole of it
shai-almog 5397cf7
Treat a modifier on an earlier line as part of the declaration
shai-almog b80eadf
Add a hint at the value the build already uses, and let a conflict be…
shai-almog 57850e5
Record no default where the build has none, and read a build package
shai-almog 7c0c203
Read a qualified import component by component
shai-almog 78ee230
Ask for a value when the build has none to inherit
shai-almog 5040621
Read a package name the way an import is read, and see a live misplac…
shai-almog d4e4516
Name a found class properly, keep looking, and read imports as declar…
shai-almog f3194ba
Close a Kotlin block comment where Kotlin closes it, and read @Name a…
shai-almog 5957d2e
Read the manifest out of the app's own jar, and the package name whole
shai-almog e75b8a4
Descend through Kotlin companions, and skip the static import modifier
shai-almog ca610d7
Read Kotlin's backtick-escaped names as the names they are
shai-almog e6f1640
Pick this application's manifest, and finish reading escaped Kotlin n…
shai-almog 10aed32
Read escaped Kotlin package components in Settings too
shai-almog 686f6cd
Keep checking placement once a manifest is accepted
shai-almog dd0fef6
Judge the simulator's manifest by content, not by timestamps
shai-almog 0e509f8
Retry a fetch that never reached its host
shai-almog e909db9
Step over escaped identifiers when looking for a keyword
shai-almog 0f60f05
Stamp the class the build ships, not the one the compiler left
shai-almog 5327847
Keep looking when the manifest found is the wrong build's
shai-almog c0a8abf
Translate Java's unicode escapes, and follow a Kotlin typealias
shai-almog f1a00f9
Answer "cannot tell" when the search runs out, not "no source"
shai-almog 481ae5b
Resolve a typealias declared in another file
shai-almog a8264aa
Let a name have a character outside ASCII
shai-almog 91220d1
Translate Java's unicode escapes in the Settings reader too
shai-almog eb97bb3
Leave the line endings the file came with
shai-almog e403981
Anchor the import above every top-level declaration
shai-almog ccac361
Consume a bracketed Kotlin file-annotation list
shai-almog f428d3f
Match a non-ASCII name the way the source spells it
shai-almog e22ab60
Drop the continuation marker, and follow an alias chain
shai-almog 1bf4691
Read a Kotlin string template as the nesting it is
shai-almog 2a64e92
A template expression holds ordinary code, comments included
shai-almog 3269a92
Seed the alias closure with imports, and read an escaped name as a name
shai-almog 0ea601b
Keep a typealias inside the scope it is declared in
shai-almog 3ac9d2d
Resolve an alias by symbol, under the name the importer gives it
shai-almog 4b8351d
Follow a chain link across a package boundary
shai-almog 0952896
A private typealias belongs to its file
shai-almog 8e3fbda
A marker at the end of the file, and a comment before a modifier
shai-almog 54c6c7f
A type in your own package beats a wildcard import
shai-almog 59b78ee
Read the Java peers too, not only the Kotlin ones
shai-almog 61a944b
Give each peer its own language, and leave the test tree out
shai-almog d3eef27
Walk generated sources, and make the walk's rules testable
shai-almog 9eb6090
Read a source in its own encoding, and let a private peer type be pri…
shai-almog b4749f3
Read the main source in its own encoding, and look where it may be
shai-almog 83681dc
A comment is a natural line, so it does not continue
shai-almog 80b7e12
Write imports that name our annotations, not a wildcard
shai-almog 3709217
`test` is not the only name a test source set goes by
shai-almog 8963452
Match the shape of a test source set, not the letters
shai-almog ad4c991
Look in the Kotlin roots, and read a static import as one
shai-almog 377bdf5
Read `as` as a token, and leave the resources root alone
shai-almog 069cfd5
One answer to "where could this source be", for all three askers
shai-almog 8b65377
Only the compile goal's source dirs, and a test for the collection
shai-almog 3bac60a
An enum value is a second type, and an alias can take a name
shai-almog 8fd723f
Let the retry wait grow, so it outlasts the outage
shai-almog File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.