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

have compose build only depend on actual dependencies #959

Merged
merged 1 commit into from
Nov 12, 2020

Conversation

cgardens
Copy link
Contributor

Closes #958

What

  • :composeBuild depends on all integrations. It shouldn't. It only has a few real dependencies. Developing on the API or the webapp right now is really painful because of this.

].toSet().asImmutable()

if (project.name in composeDeps) {
composeBuild.dependsOn(project.tasks.assemble)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should i be depending on this? or on something like this? files(project(project.name).airbyteDocker.outputs

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

your dependcy is correct right now

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

building the image only depends on the jar. We might actually want to use the docker plugin here instead of docker compose.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cool. thanks! going to merge as is and then we can move to the docker plugin after if we'd like.

@cgardens
Copy link
Contributor Author

output of -dry-run

➜  airbyte git:(cgardens/fix_deps_for_compose_build) ./gradlew :composebuild --dry-run
:airbyte-commons:compileJava SKIPPED
:airbyte-db:compileJava SKIPPED
:airbyte-db:processResources SKIPPED
:airbyte-db:classes SKIPPED
:airbyte-db:jar SKIPPED
:airbyte-db:assemble SKIPPED
:airbyte-json-validation:compileJava SKIPPED
:airbyte-config:models:processResources SKIPPED
:airbyte-config:models:generateJsonSchema2Pojo SKIPPED
:airbyte-protocol:models:processResources SKIPPED
:airbyte-protocol:models:generateJsonSchema2Pojo SKIPPED
:airbyte-protocol:models:compileJava SKIPPED
:airbyte-protocol:models:classes SKIPPED
:airbyte-protocol:models:jar SKIPPED
:airbyte-config:models:compileJava SKIPPED
:airbyte-config:models:classes SKIPPED
:airbyte-config:models:jar SKIPPED
:airbyte-config:persistence:compileJava SKIPPED
:airbyte-config:persistence:processResources SKIPPED
:airbyte-config:persistence:classes SKIPPED
:airbyte-config:persistence:jar SKIPPED
:airbyte-analytics:compileJava SKIPPED
:airbyte-analytics:processResources SKIPPED
:airbyte-analytics:classes SKIPPED
:airbyte-analytics:jar SKIPPED
:airbyte-commons:processResources SKIPPED
:airbyte-commons:classes SKIPPED
:airbyte-commons:jar SKIPPED
:airbyte-json-validation:processResources SKIPPED
:airbyte-json-validation:classes SKIPPED
:airbyte-json-validation:jar SKIPPED
:airbyte-workers:compileJava SKIPPED
:airbyte-scheduler:compileJava SKIPPED
:airbyte-scheduler:processResources SKIPPED
:airbyte-scheduler:classes SKIPPED
:airbyte-scheduler:jar SKIPPED
:airbyte-workers:processResources SKIPPED
:airbyte-workers:classes SKIPPED
:airbyte-workers:jar SKIPPED
:airbyte-scheduler:startScripts SKIPPED
:airbyte-scheduler:distTar SKIPPED
:airbyte-scheduler:distZip SKIPPED
:airbyte-scheduler:assemble SKIPPED
:airbyte-api:generateApiClient SKIPPED
:airbyte-api:generateApiDocs SKIPPED
:airbyte-api:generateApiServer SKIPPED
:airbyte-api:compileJava SKIPPED
:airbyte-api:processResources SKIPPED
:airbyte-api:classes SKIPPED
:airbyte-api:jar SKIPPED
:airbyte-config:init:compileJava SKIPPED
:airbyte-config:init:processResources SKIPPED
:airbyte-config:init:classes SKIPPED
:airbyte-config:init:jar SKIPPED
:airbyte-server:compileJava SKIPPED
:airbyte-server:processResources SKIPPED
:airbyte-server:classes SKIPPED
:airbyte-server:jar SKIPPED
:airbyte-server:startScripts SKIPPED
:airbyte-server:distTar SKIPPED
:airbyte-server:distZip SKIPPED
:airbyte-server:assemble SKIPPED
:airbyte-webapp:nodeSetup SKIPPED
:airbyte-webapp:npmSetup SKIPPED
:airbyte-webapp:npmInstall SKIPPED
:airbyte-webapp:npm_run_build SKIPPED
:airbyte-webapp:assemble SKIPPED
:composeBuild SKIPPED

].toSet().asImmutable()

if (project.name in composeDeps) {
composeBuild.dependsOn(project.tasks.assemble)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

your dependcy is correct right now

].toSet().asImmutable()

if (project.name in composeDeps) {
composeBuild.dependsOn(project.tasks.assemble)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

building the image only depends on the jar. We might actually want to use the docker plugin here instead of docker compose.

Copy link
Contributor

@jrhizor jrhizor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

I should not need to build every integration in order to run the core app
3 participants