-
Notifications
You must be signed in to change notification settings - Fork 6.8k
build: restructure demo-app in favor of bazel #13965
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
build: restructure demo-app in favor of bazel #13965
Conversation
.github/CODEOWNERS
Outdated
/src/demo-app/library-demos/tooltip/** @andrewseguin | ||
/src/demo-app/library-demos/tree/** @jelbourn | ||
/src/demo-app/library-demos/typography/** @crisbeto | ||
/src/demo-app/library-demos/virtual-scroll/** @mmalerba |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jelbourn We can chat more about why this is needed, in case you have any questions.
Moving forward, it's just unavoidable to somehow clean up our demo-app because right now, it's just feels unstructured, confusing, and not really Bazel compatible.
Also I'm not entirely sure about the name library-demos
. I'm really open to other names or even another approach
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't it be better to completely split the a11y
app from the demo app? That's what we're doing for the e2e app anyway. I don't think there's any reason for them to be together, apart from sparing us a main
and app.module
file. E.g.
src/
| a11y/
| ...
| BUILD.bazel
| index.html
| demo-app/
| ...
| BUILD.bazel
| index.html
That works too, and I considered it as well, but I just was afraid of re-adding another gulp process for the I'm fine doing so though. We can also just have the I suppose nobody is currently spending a lot of time on the |
Yeah, I would prefer splitting out the a11y app into a separate thing. Also, since it's such a big change anyway, renaming |
@jelbourn That's reasonable. Should we still add gulp tasks for the |
We can just do the bazel setup for now since nobody is actively using the a11y demos at the moment |
Sounds good. That's what I was hoping. I will make the changes as soon as possible. |
Hi @devversion! This PR has merge conflicts due to recent upstream merges. |
74105fd
to
624d19d
Compare
@jelbourn I've updated the PR. |
624d19d
to
9970c0a
Compare
To clarify: the intent of this change is to make it possible to run the dev-app via bazel, which will be a follow-up, right? |
Exactly. There are a few more blockers for actually building the dev-app with Bazel, but I'm working on fixing those (e.g. angular/angular#27062) This PR should be ready for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Restructures the demo-app by no longer mixing up the `demo-app` name. Currently the `demo-app` consists of two parts: * The demo-app * And the accessibility demos As you can tell above, this is pretty much confusing because it's technically just consisting of: * Accessibility demos * Library demos This change cleans up the naming and makes sure that the modules are structured in a best-practice way. It's odd to have the `DemoAppModule` (*not the root module*) that includes all library demos as a folder next to the actual demo components. This makes it extremely hard to convert the demo-app to Bazel because we cannot target all `.ts` files through `glob` because it only matches files inside of the same folder (or Bazel package). In order to make it easy to run the demo-app with Bazel, and to just clean it up, the folder structure should be as followed: ``` src/a11y-demo/ | ... src/dev-app/ | ${DEMO_COMPONENT} | ... | BUILD.bazel | index.html | BUILD.bazel ```
9970c0a
to
128c985
Compare
@andrewseguin This one is rebased now as well. It's just red because of the API guardian tests. Those should be fixed with #14144. |
Restructures the demo-app by no longer mixing up the `demo-app` name. Currently the `demo-app` consists of two parts: * The demo-app * And the accessibility demos As you can tell above, this is pretty much confusing because it's technically just consisting of: * Accessibility demos * Library demos This change cleans up the naming and makes sure that the modules are structured in a best-practice way. It's odd to have the `DemoAppModule` (*not the root module*) that includes all library demos as a folder next to the actual demo components. This makes it extremely hard to convert the demo-app to Bazel because we cannot target all `.ts` files through `glob` because it only matches files inside of the same folder (or Bazel package). In order to make it easy to run the demo-app with Bazel, and to just clean it up, the folder structure should be as followed: ``` src/a11y-demo/ | ... src/dev-app/ | ${DEMO_COMPONENT} | ... | BUILD.bazel | index.html | BUILD.bazel ```
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
Restructures the demo-app by no longer mixing up the
demo-app
name.Currently the
demo-app
consists of two parts:As you can tell above, this is pretty much confusing because it's
technically just consisting of:
This change cleans up the naming and makes sure that the modules are
structured in a best-practice way.
It's odd to have the
DemoAppModule
(not the root module) thatincludes all library demos as a folder next to the actual demo
components.
This makes it extremely hard to convert the demo-app to Bazel because
we cannot target all
.ts
files throughglob
because it only matchesfiles inside of the same folder (or Bazel package).
In order to make it easy to run the demo-app with Bazel, and to just
clean it up, the folder structure should be as followed: