Skip to content

PR #2 Merge grails-data-mapping & grails-geb into grails-core #14324

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
wants to merge 483 commits into
base: grails-data-merge
Choose a base branch
from

Conversation

jdaugherty
Copy link
Contributor

@jdaugherty jdaugherty commented Apr 21, 2025

Per the decision[1], this merges the grails-data-mapping & grails-geb repositories into grails-core.

Please note that after having these repositories fully merged, clean up was done, including:

  1. significantly changing the build to make tasks lazy
  2. spinning up mongodb containers instead of relying on a local instance
  3. removing isolatedTest helper - it was configuring a secondary test task which meant the tests ran twice
  4. reviewing uses of @ignore and fixing tests that were never updated since the groovy 4 introduction
  5. generating the grails-bom in the documentation from the dependencies (See ExtractDependenciesTask)
  6. fixing rate limiting of the grails-geb images by specifying an image pull policy to wait at least a day before pulling agian
  7. unifying the parallel approach across all repositories
  8. making several tasks cacheable (FindMainClass, Views Tasks, GSP Tasks)
  9. renames the GSP forked compiler to remove the word "task" since it's not a gradle task
  10. Add options to skip various tests
  11. Updates old ticket references to the apache tickets
  12. Updates various build files to remove gradle deprecations
  13. Fixes the groovydoc so that external libraries are resolvable
  14. Prevents adding external classes to the classpath of groovydoc - so they're not documented
  15. Ensures ast / java / groovy sources are used for groovydoc
  16. Fixes the selenium version by including it in grails-bom
  17. removes .web from grails-web-boot package per previous discussion on grails-forge PR
  18. adds @ignore on tests that seem to fail only on windows
  19. exclude tests from groovydoc

[1] https://lists.apache.org/thread/7trbthyv31tp2pkwpr3swn1pm80nd969

grails-build and others added 30 commits December 13, 2024 00:37
fix setup() methods being called
4.1.x - backport setup() methods being called
* fix: add `selenium-support`

Fixes gh-109
# Conflicts:
#	build.gradle
#	gradle.properties
Use NEXUS_PUBLISH_* variables
Revert NEXUS_PUBLISH_URL to use sonatype value
Merge 4.1.x to 5.0.x & restore NEXUS variables
#118)

* fix: disable recording container

Closes gh-117

* refactor: set recording mode directly on created container
* fix: add setting to disable tracing

Close gh-119

* docs: document `grails.geb.tracing.enabled` setting
# Conflicts:
#	gradle.properties
This resolves an issue on Windows when using the file from `container.copyFileToContainer()` with the Geb FileInput module.
@jdaugherty jdaugherty changed the base branch from grails-data-merge to 7.0.x April 21, 2025 18:03
@jdaugherty jdaugherty changed the title Merge grails-geb into grails-core Merge grails-data-mapping & grails-geb into grails-core Apr 21, 2025
@jamesfredley
Copy link
Contributor

jamesfredley commented Apr 21, 2025

Due to github displaying a max of 3000 file changes for a PR, I am reviewing this in three chunks:

015da19
a58aa14

a58aa14...grails-geb - all the rest of the changes.

@jdaugherty
Copy link
Contributor Author

I reset the grails-data-merge branch to 71b0349 - if you want me to create a PR with just the imported data and then have this one be the changes, i can do that

@jdaugherty jdaugherty changed the title Merge grails-data-mapping & grails-geb into grails-core PR #2 Merge grails-data-mapping & grails-geb into grails-core Apr 21, 2025
@jdaugherty jdaugherty changed the base branch from 7.0.x to grails-data-merge April 21, 2025 22:39
@jdaugherty
Copy link
Contributor Author

I've reopened the data-mapping PR, that branch was reset to the point where we ran import only. It contains no changes other than the existing commit history from grails-data-mapping. This branch will transform the repo to be functional.

#14325

Copy link
Contributor

@jamesfredley jamesfredley left a comment

Choose a reason for hiding this comment

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

@jdaugherty GitHub is struggling with this PR, so I couldn't put these on the lines

3 instances with double colon
project('::grails-data-hibernate5')

elApiVersion should be 5.0.1 based on https://projects.eclipse.org/releases/jakarta-10 and latest 5.0.x from https://mvnrepository.com/artifact/jakarta.el/jakarta.el-api

There are also a few versions set directly in build.gradle files:

Targets
    Occurrences of ':[0-9]' in Project with mask '*.gradle'
Found occurrences in Project with mask '*.gradle'  (47 usages found)
    Usage in string constants  (45 usages found)
        grails-gradle  (1 usage found)
            grails-gradle\gradle  (1 usage found)
                e2eTest.gradle  (1 usage found)
                    53 e2eTestImplementation 'commons-io:commons-io:2.18.0'
        grails.core.ROOT.grails-fields  (1 usage found)
            grails-fields  (1 usage found)
                build.gradle  (1 usage found)
                    32 testImplementation 'org.javassist:javassist:3.29.0-GA'
        grails.core.ROOT.grails-shell-cli  (1 usage found)
            grails-shell-cli  (1 usage found)
                build.gradle  (1 usage found)
                    105 testImplementation 'com.github.jnr:jnr-posix:3.1.20'
        grails.core.ROOT.grails-test-examples-async-events-pubsub-demo  (2 usages found)
            grails-test-examples\async-events-pubsub-demo  (2 usages found)
                build.gradle  (2 usages found)
                    51 testImplementation 'io.micronaut.serde:micronaut-serde-jackson:2.10.2'
                    52 testImplementation 'io.micronaut:micronaut-http-client:4.6.5'
        grails.core.ROOT.grails-test-examples-gsp-spring-boot  (1 usage found)
            grails-test-examples\gsp-spring-boot\app  (1 usage found)
                build.gradle  (1 usage found)
                    47 implementation 'org.hibernate.validator:hibernate-validator:8.0.0.Final' // validation

I am now jumping into the changes in the larger group of commits. a58aa14...grails-geb

Copy link
Contributor

@jamesfredley jamesfredley left a comment

Choose a reason for hiding this comment

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

assemble runs a number of asciidoctor tasks which are not needed, but this can be done in another ticket.

https://github.com/grails/ should be replaced with https://github.com/apache/ in
example grails-fields/src/test/groovy/grails/plugin/formfields/FormFieldsTemplateServiceSpec.groovy

Issue for new test failures: #14327

@jdaugherty
Copy link
Contributor Author

@jdaugherty GitHub is struggling with this PR, so I couldn't put these on the lines

3 instances with double colon project('::grails-data-hibernate5')

elApiVersion should be 5.0.1 based on https://projects.eclipse.org/releases/jakarta-10 and latest 5.0.x from https://mvnrepository.com/artifact/jakarta.el/jakarta.el-api

There are also a few versions set directly in build.gradle files:

Targets
    Occurrences of ':[0-9]' in Project with mask '*.gradle'
Found occurrences in Project with mask '*.gradle'  (47 usages found)
    Usage in string constants  (45 usages found)
        grails-gradle  (1 usage found)
            grails-gradle\gradle  (1 usage found)
                e2eTest.gradle  (1 usage found)
                    53 e2eTestImplementation 'commons-io:commons-io:2.18.0'
        grails.core.ROOT.grails-fields  (1 usage found)
            grails-fields  (1 usage found)
                build.gradle  (1 usage found)
                    32 testImplementation 'org.javassist:javassist:3.29.0-GA'
        grails.core.ROOT.grails-shell-cli  (1 usage found)
            grails-shell-cli  (1 usage found)
                build.gradle  (1 usage found)
                    105 testImplementation 'com.github.jnr:jnr-posix:3.1.20'
        grails.core.ROOT.grails-test-examples-async-events-pubsub-demo  (2 usages found)
            grails-test-examples\async-events-pubsub-demo  (2 usages found)
                build.gradle  (2 usages found)
                    51 testImplementation 'io.micronaut.serde:micronaut-serde-jackson:2.10.2'
                    52 testImplementation 'io.micronaut:micronaut-http-client:4.6.5'
        grails.core.ROOT.grails-test-examples-gsp-spring-boot  (1 usage found)
            grails-test-examples\gsp-spring-boot\app  (1 usage found)
                build.gradle  (1 usage found)
                    47 implementation 'org.hibernate.validator:hibernate-validator:8.0.0.Final' // validation

I am now jumping into the changes in the larger group of commits. a58aa14...grails-geb

  • The e2eTest has it hard coded because it can't use a bom; no change is needed here.
  • I believe I've made the rest of these changes

@jdaugherty
Copy link
Contributor Author

jdaugherty commented Apr 22, 2025

assemble runs a number of asciidoctor tasks which are not needed, but this can be done in another ticket.

https://github.com/grails/ should be replaced with https://github.com/apache/ in example grails-fields/src/test/groovy/grails/plugin/formfields/FormFieldsTemplateServiceSpec.groovy

Issue for new test failures: #14327

  • the asciidoctor tasks are because not all of the documentation tasks are caching correctly. We need to revisit this after this PR. It will save a nominal amount of time if we do. I had attempted to fix this, but it seems related to the javadocJar task. I'd rather address this in a later PR
  • Concerning the @Issue with the grails link ,we need to keep that. The ticket is closed and that is the correction location

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.

6 participants