Skip to content
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

Implement configuration specific imports #24581

Closed
12 tasks done
floitschG opened this issue Oct 13, 2015 · 59 comments
Closed
12 tasks done

Implement configuration specific imports #24581

floitschG opened this issue Oct 13, 2015 · 59 comments
Labels
area-language Dart language related items (some items might be better tracked at github.com/dart-lang/language). area-meta Cross-cutting, high-level issues (for tracking many other implementation issues, ...). type-enhancement A request for a change that isn't a bug

Comments

@floitschG
Copy link
Contributor

floitschG commented Oct 13, 2015

Implement configuration specific imports [0] behind a flag.
Validate it, and then remove the flag, once the DEP committee has accepted it.

Agreed upon flag (so far): --conditional-directives

The implementation is already underway (checked when committed):

Still missing: environment variables for the existing libraries:

Validate implementation by updating pkg/http

The analysis can be implemented in different phases.

Once the DEP committee has accepted:

[0] https://github.com/munificent/dep-interface-libraries/blob/master/Proposal.md

@floitschG floitschG added the area-meta Cross-cutting, high-level issues (for tracking many other implementation issues, ...). label Oct 13, 2015
@floitschG
Copy link
Contributor Author

/cc @mit-mit

@sgjesse sgjesse added the area-language Dart language related items (some items might be better tracked at github.com/dart-lang/language). label Oct 14, 2015
@mit-mit mit-mit added this to the 1.14 milestone Oct 14, 2015
@floitschG floitschG added Area-Multi and removed area-language Dart language related items (some items might be better tracked at github.com/dart-lang/language). labels Oct 14, 2015
@bwilkerson
Copy link
Member

I now have a CL that will add support in the parser and AST structure for this dep (https://codereview.chromium.org/1406253004/). However, it's a breaking change that will affect many clients of analyzer, so I am hesitant to commit it before we've released 1.13.

@mit-mit
Copy link
Member

mit-mit commented Nov 19, 2015

Now that we are starting 1.14 builds, let's go ahead and land CLs that are ready for this!

@mit-mit
Copy link
Member

mit-mit commented Jan 6, 2016

Looks like the VM changes landed :-). @floitschG, what else remains in 1.14?

@floitschG
Copy link
Contributor Author

I would like to see the env-variables landed.
I have a patch for dart2js, but things are slightly more complicated in the VM.

@floitschG
Copy link
Contributor Author

Now available behind a flag.
Here is the Changelog update: 1d2a46e

@mit-mit
Copy link
Member

mit-mit commented Mar 1, 2016

Great! Can we close this bug? And maybe have a new one for removing the flags?

@kevmoo kevmoo added type-enhancement A request for a change that isn't a bug and removed type-enhancement labels Mar 1, 2016
@mit-mit
Copy link
Member

mit-mit commented Mar 2, 2016

Clearing out 1.15 milestone as the last full push to dev has happened. If any changes are required before 1.15 is shipped, please file a merge request

@mit-mit mit-mit modified the milestones: 1.16, 1.15 Mar 2, 2016
@sethladd
Copy link
Contributor

sethladd commented Mar 8, 2016

What is phase 0 and phase 1 mean for analyzer? cc @bwilkerson

@bwilkerson
Copy link
Member

I'm not sure, but I think phase 0 was correctly analyzing code based on the interface library and accepting the new syntax, and phase 1 was implementing the verification of the implementation libraries.

@mit-mit
Copy link
Member

mit-mit commented Dec 15, 2016

@bwilkerson is there any remaining critical work in the analyzer?

@bwilkerson
Copy link
Member

I honestly don't know. It's been too long since I last looked at it.

Do we have language tests? If so, is analyzer passing them?

I saw an e-mail or issue a few days ago indicating that someone thought analyzer wasn't choosing the right URI to analyze against, but I haven't had time to determine whether that's true.

@lrhn
Copy link
Member

lrhn commented Dec 16, 2016

I've added another language test. The analyzer is passing in the sense that I had to mark it as giving the warnings that it should, and otherwise accepts the test. I'm not testing the individual warnings, but they look correct to me.

@mit-mit
Copy link
Member

mit-mit commented Dec 16, 2016

Lasse's test is https://codereview.chromium.org/2579253003/ -- looks good to me!

@mit-mit
Copy link
Member

mit-mit commented Dec 16, 2016

@bwilkerson anything else you want to have verified before I close this feature as complete!?

@bwilkerson
Copy link
Member

Nope.

@mit-mit
Copy link
Member

mit-mit commented Dec 16, 2016

\o/

Closing (just in time for Christmas)!

@jodinathan
Copy link

When can we use it?
Are there any examples?

thanks for this, it is very important =]

@mit-mit
Copy link
Member

mit-mit commented Dec 16, 2016

The test above is probably the best source of information right now; and then you would need to use a 1.22.0-dev.2.0 dev build from https://www.dartlang.org/install/archive.

We will have more docs ready for the 1.22 stable launch.

@stevenroose
Copy link

stevenroose commented Dec 16, 2016 via email

@sethladd
Copy link
Contributor

sethladd commented Dec 16, 2016 via email

@skybrian
Copy link

What about strong mode summaries for DDC? Will they be generated correctly?

@kevmoo
Copy link
Member

kevmoo commented Dec 16, 2016 via email

@kevmoo
Copy link
Member

kevmoo commented Jan 3, 2017

Reopening and adding a tracking item around summary validation...

@kevmoo kevmoo reopened this Jan 3, 2017
@mit-mit mit-mit added the area-language Dart language related items (some items might be better tracked at github.com/dart-lang/language). label Jan 4, 2017
@kevmoo kevmoo modified the milestones: 1.50, 1.22 Jan 13, 2017
@jodinathan
Copy link

Hi,

Is there any date we can expect this?
Using hack to check environment and ifs is getting bigger each day

@lrhn
Copy link
Member

lrhn commented Jun 22, 2018

This feature is in Dart 2, but restricted to only be able to test against a number of platform specific definitions - currently one per dart: library, so you can test dart.libraries.js to check if JS integration is available.
This allows some build tools to ensure that there is only a fixed known number of different configurations.

@pulyaevskiy
Copy link
Contributor

Just wondering if there are docs available about this feature with some more details?

@anders-sandholm
Copy link
Contributor

Beyond https://github.com/munificent/dep-interface-libraries/blob/master/Proposal.md and @lrhn 's comment above, unfortunately not at this point. Not the answer I'd have liked to give, but currently this is not as well documented as we'd like. Stay tuned.

@lrhn @Sfshaza @kwalrath FYI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-language Dart language related items (some items might be better tracked at github.com/dart-lang/language). area-meta Cross-cutting, high-level issues (for tracking many other implementation issues, ...). type-enhancement A request for a change that isn't a bug
Projects
None yet
Development

No branches or pull requests