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

Revive the Scala.js backend. #5143

Merged
merged 3 commits into from Dec 10, 2018

Conversation

Projects
None yet
5 participants
@sjrd
Copy link
Member

commented Sep 22, 2018

No description provided.

@dotty-bot
Copy link

left a comment

Hello, and thank you for opening this PR! 🎉

All contributors have signed the CLA, thank you! ❤️

Commit Messages

We want to keep history, but for that to actually be useful we have
some rules on how to format our commit messages (relevant xkcd).

Please stick to these guidelines for commit messages:

  1. Separate subject from body with a blank line
  2. When fixing an issue, start your commit message with Fix #<ISSUE-NBR>:
  3. Limit the subject line to 72 characters
  4. Capitalize the subject line
  5. Do not end the subject line with a period
  6. Use the imperative mood in the subject line ("Add" instead of "Added")
  7. Wrap the body at 80 characters
  8. Use the body to explain what and why vs. how

adapted from https://chris.beams.io/posts/git-commit

Have an awesome day! ☀️

@sjrd

This comment has been minimized.

Copy link
Member Author

commented Sep 22, 2018

@allanrenucci (since you seem to update .drone.yml most often) what should I do to add Node.js to the installed programs on the Drone images?

@allanrenucci

This comment has been minimized.

Copy link
Member

commented Sep 23, 2018

The Dockerfile for the drone image is at https://github.com/lampepfl/dotty-drone/blob/master/dotty-docker/Dockerfile. You need to add node to the list of installed packages. Then one needs to create a new image https://github.com/lampepfl/dotty-drone/blob/master/README.md#dotty-docker-image.

I can do the last step for you on Monday

@allanrenucci

This comment has been minimized.

Copy link
Member

commented Sep 24, 2018

@sjrd I published a new image lampepfl/dotty:2018-09-24 that has Node.js installed

@sjrd

This comment has been minimized.

Copy link
Member Author

commented Sep 24, 2018

@allanrenucci Thanks! It works :)

@sjrd sjrd force-pushed the dotty-staging:revive-scalajs branch from afd0847 to 426d63d Sep 24, 2018

@sjrd sjrd force-pushed the dotty-staging:revive-scalajs branch 2 times, most recently from 78ea187 to 91752a7 Nov 8, 2018

Revive the Scala.js backend.
This partially reverts 06a3d47 to bring
back Dotty.js from the dead.

- Scala.js was upgraded to 1.0.0-M6, and the back-end was updated
  to reflect changes that have happened in the Scala 2 back-end
  since the initial implementation of the Dotty.js back-end.
- The backend was initially removed because of #1574, I don't see why
  GetClass has a requirement on FunctionalInterfaces, so I just removed
  it ¯\_(ツ)_/¯
- The Scala.js backend explodes when extending a Scala 2 trait
  because of the way LinkScala2Impls transforms supercalls to
  these traits. Luckily, we don't need to extend js.JSApp anymore
  to make a Hello World :P.

The following command works, and is added to the CI:

    sbt sjsSandbox/run

This generally remains a WIP. There are still a lot of
Scala.js-specific features which are not supported, notably exports
and non-native JS classes.

@sjrd sjrd force-pushed the dotty-staging:revive-scalajs branch from 91752a7 to 660977c Nov 9, 2018

@sjrd sjrd changed the title CI ONLY Revive the Scala.js backend Revive the Scala.js backend. Nov 9, 2018

@sjrd sjrd requested a review from smarter Nov 9, 2018

@sjrd sjrd assigned smarter and unassigned sjrd Nov 9, 2018

@sjrd

This comment has been minimized.

Copy link
Member Author

commented Nov 9, 2018

Ready for review :)

@smarter

This comment has been minimized.

Copy link
Member

commented Nov 9, 2018

Is the code in compiler/sjs/backend/* synchronized with 1.0.0-M6 ?

@sjrd

This comment has been minimized.

Copy link
Member Author

commented Nov 9, 2018

Is the code in compiler/sjs/backend/* synchronized with 1.0.0-M6 ?

For the parts that are implemented, yes.

@nicolasstucki
Copy link
Contributor

left a comment

Otherwise looks good

Show resolved Hide resolved compiler/src/dotty/tools/dotc/Run.scala Outdated
Let phases themselves decide whether they have to do anything.
Instead of having `Run.rootContext` hard-code the filtering.

@sjrd sjrd force-pushed the dotty-staging:revive-scalajs branch from 8f0e44c to d222f20 Dec 10, 2018

@nicolasstucki
Copy link
Contributor

left a comment

LGTM as long as the tests pass

Show resolved Hide resolved .drone.yml Outdated

@sjrd sjrd merged commit ee05b74 into lampepfl:master Dec 10, 2018

3 checks passed

CLA User signed CLA
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/drone/pr the build was successful
Details

@sjrd sjrd deleted the dotty-staging:revive-scalajs branch Dec 10, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.