grails / grails-doc Goto Github PK
View Code? Open in Web Editor NEWDocumentation Project For The Grails Web Application Framework
Home Page: http://grails.org/doc/latest/
Documentation Project For The Grails Web Application Framework
Home Page: http://grails.org/doc/latest/
In grails 2.5.0 docs http://grails.github.io/grails-doc/2.5.0/guide/introduction.html the links to spring.io are broken.
https://spring.io/guides/gs/accessing-data-gorm/
https://spring.io/guides/gs/accessing-data-gorm-mongodb/
Moreover this information is completely missing in Grails 3 documentation.
As per this discussion in Stackoverflow, documentation related to @BindUsing
needs to be improved to add a note about matching field name in a class with corresponding request parameter name.
Also specify that DataBindingSource
cannot be used as a Map.
I was reading https://grails.github.io/grails-doc/latest/ref/Domain%20Classes/createCriteria.html and clicked on the link 'http://grails.github.io/grails-doc/3.0.x/api/grails/orm/HibernateCriteriaBuilder.html' and got a 404.
Is there documentation for api/grails/orm/HibernateCriteriaBuilder?
The docs says that exit is for interactive mode while quit is for the forked mode. Is this correct?
I was going through https://github.com/grails/grails-core/blob/master/grails-shell/src/main/groovy/org/grails/cli/GrailsCli.groovy when I noticed that both of these commands are doing the same thing at least for the interactive mode.
documentation change to Issue 9020 in grails-core
At this section http://grails.org/doc/latest/guide/theWebLayer.html#ajaxEvents
says that
"a reference to the XmlHttpRequest object you can use the implicit event parameter e to obtain it:
<g:javascript>
function fireMe(e) {
alert("XmlHttpRequest = " + e)
}
}
/g:javascript
<g:remoteLink action="example"
update="success"
onSuccess="fireMe(e)">Ajax Link/g:remoteLink
"
but the name 'e' for implicit parameter is only valid if you use Jquery; if you use Dojo, you shoud use 'response':
<g:remoteLink action="example"
update="success"
onSuccess="fireMe(response)">Ajax Link/g:remoteLink
Thanks,
The Grails 1.3.9 documentation is missing in the gh-pages branch.
Hi
The documentation for Grails 2.5 is missing what is new in 2.5 in the Introduction section.
http://grails.github.io/grails-doc/2.5.0/guide/introduction.html
I can't build the docs because I get this error every time. I already tried up and downgrading gradle and up and downgrading grails.
Do you have any idea about what is happening?
Mathi-Mac:grails-doc mathifonseca$ ./gradlew -Dgrails.home=/Users/mathifonseca/.gvm/grails/2.4.2 docs --stacktrace
:buildSrc:compileJava UP-TO-DATE
:buildSrc:compileGroovy UP-TO-DATE
:buildSrc:processResources UP-TO-DATE
:buildSrc:classes UP-TO-DATE
:buildSrc:jar UP-TO-DATE
:buildSrc:assemble UP-TO-DATE
:buildSrc:compileTestJava UP-TO-DATE
:buildSrc:compileTestGroovy UP-TO-DATE
:buildSrc:processTestResources UP-TO-DATE
:buildSrc:testClasses UP-TO-DATE
:buildSrc:test UP-TO-DATE
:buildSrc:check UP-TO-DATE
:buildSrc:build UP-TO-DATE
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'grails-doc'.
> Could not resolve all dependencies for configuration ':classpath'.
> Could not resolve org.grails:grails-docs:2.4.1.BUILD-SNAPSHOT.
Required by:
:grails-doc:unspecified
> java.lang.NullPointerException (no error message)
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'grails-doc'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:57)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:493)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:80)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:31)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:142)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64)
at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.Main.doAction(Main.java:46)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at org.gradle.launcher.Main.main(Main.java:37)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:55)
Caused by: org.gradle.api.artifacts.ResolveException: Could not resolve all dependencies for configuration ':classpath'.
at org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration.rethrowFailure(DefaultLenientConfiguration.java:52)
at org.gradle.api.internal.artifacts.ivyservice.DefaultResolvedConfiguration.rethrowFailure(DefaultResolvedConfiguration.java:36)
at org.gradle.api.internal.artifacts.ivyservice.SelfResolvingDependencyResolver$FilesAggregatingResolvedConfiguration.rethrowFailure(SelfResolvingDependencyResolver.java:110)
at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingArtifactDependencyResolver$ErrorHandlingResolvedConfiguration.rethrowFailure(ErrorHandlingArtifactDependencyResolver.java:180)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:465)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getFiles(DefaultConfiguration.java:202)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getFiles(Unknown Source)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:127)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:40)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26)
at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55)
... 28 more
Caused by: org.gradle.api.internal.artifacts.ivyservice.ModuleVersionResolveException: Could not resolve org.grails:grails-docs:2.4.1.BUILD-SNAPSHOT.
Required by:
:grails-doc:unspecified
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainDependencyResolver.resolve(RepositoryChainDependencyResolver.java:72)
at org.gradle.api.internal.artifacts.ivyservice.clientmodule.ClientModuleResolver.resolve(ClientModuleResolver.java:35)
at org.gradle.api.internal.artifacts.ivyservice.projectmodule.ProjectDependencyResolver.resolve(ProjectDependencyResolver.java:49)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.LazyDependencyToModuleResolver$AbstractVersionResolveResult.resolve(LazyDependencyToModuleResolver.java:69)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder$ModuleVersionResolveState.resolve(DependencyGraphBuilder.java:655)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder$ModuleVersionResolveState.getMetaData(DependencyGraphBuilder.java:666)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder$DependencyEdge.calculateTargetConfigurations(DependencyGraphBuilder.java:340)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder$DependencyEdge.attachToTargetConfigurations(DependencyGraphBuilder.java:314)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder.traverseGraph(DependencyGraphBuilder.java:130)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder.resolve(DependencyGraphBuilder.java:70)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultDependencyResolver$1.execute(DefaultDependencyResolver.java:116)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultDependencyResolver$1.execute(DefaultDependencyResolver.java:82)
at org.gradle.internal.Transformers$3.transform(Transformers.java:131)
at org.gradle.api.internal.artifacts.ivyservice.DefaultIvyContextManager.withIvy(DefaultIvyContextManager.java:61)
at org.gradle.api.internal.artifacts.ivyservice.DefaultIvyContextManager.withIvy(DefaultIvyContextManager.java:39)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultDependencyResolver.resolve(DefaultDependencyResolver.java:82)
at org.gradle.api.internal.artifacts.ivyservice.CacheLockingArtifactDependencyResolver$1.run(CacheLockingArtifactDependencyResolver.java:42)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:187)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:175)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:106)
at org.gradle.cache.internal.DefaultCacheFactory$ReferenceTrackingCache.useCache(DefaultCacheFactory.java:193)
at org.gradle.api.internal.artifacts.ivyservice.DefaultCacheLockingManager.useCache(DefaultCacheLockingManager.java:65)
at org.gradle.api.internal.artifacts.ivyservice.CacheLockingArtifactDependencyResolver.resolve(CacheLockingArtifactDependencyResolver.java:40)
at org.gradle.api.internal.artifacts.ivyservice.SelfResolvingDependencyResolver.resolve(SelfResolvingDependencyResolver.java:45)
at org.gradle.api.internal.artifacts.ivyservice.ShortcircuitEmptyConfigsArtifactDependencyResolver.resolve(ShortcircuitEmptyConfigsArtifactDependencyResolver.java:55)
at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingArtifactDependencyResolver.resolve(ErrorHandlingArtifactDependencyResolver.java:47)
at org.gradle.api.internal.artifacts.ivyservice.DefaultConfigurationResolver.resolve(DefaultConfigurationResolver.java:46)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveNow(DefaultConfiguration.java:240)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getResolvedConfiguration(DefaultConfiguration.java:230)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getResolvedConfiguration(Unknown Source)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:463)
... 35 more
Caused by: java.lang.NullPointerException
at org.gradle.api.internal.artifacts.repositories.resolver.MavenLocalResolver.isOrphanedPom(MavenLocalResolver.java:49)
at org.gradle.api.internal.artifacts.repositories.resolver.MavenLocalResolver.findMetaDataArtifact(MavenLocalResolver.java:42)
at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.resolveStaticDependency(ExternalResourceResolver.java:165)
at org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver.getDependency(MavenResolver.java:83)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.LocalModuleVersionRepository.getLocalDependency(LocalModuleVersionRepository.java:44)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.memcache.CachedRepository.getLocalDependency(CachedRepository.java:67)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainDependencyResolver$RepositoryResolveState$LocalModuleAccess.getDependency(RepositoryChainDependencyResolver.java:206)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainDependencyResolver$StaticVersionRepositoryResolveState.process(RepositoryChainDependencyResolver.java:228)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainDependencyResolver$RepositoryResolveState.resolve(RepositoryChainDependencyResolver.java:179)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainDependencyResolver.findLatestModule(RepositoryChainDependencyResolver.java:110)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainDependencyResolver.findLatestModule(RepositoryChainDependencyResolver.java:86)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainDependencyResolver.resolve(RepositoryChainDependencyResolver.java:61)
... 66 more
BUILD FAILED
Total time: 4.342 secs
I was going through the code in ValidationTagLib. I noticed that fieldError is not documented in grails online docs. Also it seems to be incorrectly documented in the code's javadocs.
Is that an internal thing?
While building the documentation in my local machine I noticed these warnings
WARNING: /home/aseem/projects/openSource/grails-doc/src/en/guide/hibernate/usingHibernateXMLMappingFiles.gdoc: Link 'create-hibernate-cfg-xml|commandLine' refers to non-existent page /home/aseem/projects/openSource/grails-doc/src/en/ref/Command Line/create-hibernate-cfg-xml.gdoc!
WARNING: /home/aseem/projects/openSource/grails-doc/src/en/guide/scaffolding.gdoc: Link 'install-templates|commandLine' refers to non-existent page /home/aseem/projects/openSource/grails-doc/src/en/ref/Command Line/install-templates.gdoc!
These commands are present in 2.4.4
As noted @ http://grails.org/doc/latest/guide/single.html#controllersAndScopes since grails 2 its possible to specify the scope of a controller by e.g.:
static scope = "singleton"
There is no entry yet in the "Quick Reference"
Docs says that for contributing JDK 1.6 or above is needed. Is Grails 3 tested on JDK 6? Travis build is for JDK 7. Perhaps that needs updation?
While trying a Grails 3.0.2 app I hit this issue - how to inject log in grails 3? Earlier I was using @log4j for this. But now I was not sure.
I looked and found some issues.
An example of how to use the SharedRuntime annotation and the configurer would be helpful.
Currently snapshot documentation is not available as discussed in #271. It would be nice to have that available.
@graemerocher Putting this issue so that it doesn't slip out of mind.
While editing docs I noticed that a lot of pages have "Source" at their bottom in the gdoc files. But the actual docs do not have anything other than the Source at their bottom.
e.g. The below has a heading Source but nothing is present there. What is this supposed to be?
https://grails.github.io/grails-doc/latest/ref/Tags/actionSubmit.html
In Grails 2.3.x commons-dbcp was replaced by the Tomcat Pool: grails/grails-core@a7b1514
There's some locations with links to the dbcp that needs to be replaced to the new pool, for example the properties in http://grails.org/doc/latest/guide/conf.html#dataSource
Doc must be updated !
The docs say that
The result of this on the server side is a format property on the response object with the value xml.
But it seems to be wrong. Shouldn't it be request params object
instead of response object
?
I was looking at https://github.com/grails3-plugins/geb/blob/master/src/main/groovy/geb/GebGrailsPlugin.groovy when I noticed that the plugin descriptor has license, issueManagement, scm which are not documented in the documentation.
Are these part of "special properties"? Also what is so special with these special properties. This is not documented.
For the description of https://grails.github.io/grails-doc/latest/ref/Tags/fieldValue.html
It says that "and obtains the value of the field either from the originally submitted value in the bean's errors object populated during data binding or from the value of a bean's property".
But it does not explain based on which condition either of these will be selected. It obviously cannot be random. Maybe explain it like a list. Like firstly it will try to return 1 based on condition 1. If condition not satisfied then will return 2.
I was reading the docs on contributing and saw this
"Contributing to the documentation is simpler for the core framework because there is a public fork of the http://github.com/grails/grails-doc project that anyone can request commit access to. So, if you want to submit patches to the documentation, simply request commit access to the following repository http://github.com/pledbrook/grails-doc by sending a GitHub message to 'pledbrook' and then commit your patches just as you would to any other GitHub repository."
What is this supposed to be? I mean anyone can make a public fork so why is this one special?
from http://grails.github.io/grails-doc/3.0.x/guide/upgrading.html
Some files that were previously created by Grails 2.x are no longer created. These have either been removed or an appropriate replacement added. The following table lists files no longer in use:
grails-app/conf/DataSource.groovy Merged together into application.yml
and
The configuration of the application will need to be migrated, this can normally be done by simply renaming grails-app/conf/Config.groovy to grails-app/conf/application.groovy and merging the content of grails-app/conf/DataSource.groovy into grails-app/conf/application.groovy.
Should it be application.groovy, or application.yaml (if either one works, that should probably be explicit)
Later on, http://grails.github.io/grails-doc/3.0.x/guide/conf.html#dataSource states
Once you have the JAR resolved you need to get familiar Grails' DataSource descriptor file located at grails-app/conf/DataSource.groovy. This file contains the dataSource definition which includes the following settings:
And now we're back to DataSource.groovy (and using groovy config in the examples).
There is a file https://github.com/grails/grails-doc/blob/master/src/en/guide/links.yml. Is this an old file that is not needed anymore? Asking this as I have added a new section which is coming in documentation on building but I never touched this file.
I can't build the docs because I get following error every time.
How do I fix this?
ubuntu@eason:~/githubProject/grails-doc$ ./gradlew -Dgrails.home=/home/ubuntu/githubProject/grails-core docs
:buildSrc:compileJava UP-TO-DATE
:buildSrc:compileGroovy UP-TO-DATE
:buildSrc:processResources UP-TO-DATE
:buildSrc:classes UP-TO-DATE
:buildSrc:jar UP-TO-DATE
:buildSrc:assemble UP-TO-DATE
:buildSrc:compileTestJava UP-TO-DATE
:buildSrc:compileTestGroovy UP-TO-DATE
:buildSrc:processTestResources UP-TO-DATE
:buildSrc:testClasses UP-TO-DATE
:buildSrc:test UP-TO-DATE
:buildSrc:check UP-TO-DATE
:buildSrc:build UP-TO-DATE
:fetchGrailsSource SKIPPED
:apiDocs
:buildSrc:compileJava UP-TO-DATE
:buildSrc:compileGroovy UP-TO-DATE
:buildSrc:processResources UP-TO-DATE
:buildSrc:classes UP-TO-DATE
:buildSrc:jar UP-TO-DATE
:buildSrc:assemble UP-TO-DATE
:buildSrc:compileTestJava UP-TO-DATE
:buildSrc:compileTestGroovy UP-TO-DATE
:buildSrc:processTestResources UP-TO-DATE
:buildSrc:testClasses UP-TO-DATE
:buildSrc:test UP-TO-DATE
:buildSrc:check UP-TO-DATE
:buildSrc:build UP-TO-DATE
:apiDocs FAILED
FAILURE: Build failed with an exception.
* Where:
Build file '/home/ubuntu/githubProject/grails-core/build.gradle' line: 400
* What went wrong:
A problem occurred evaluating root project 'grails.core.ROOT'.
> class loader scope is locked
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 25.429 secs
The documentation for pageProperty in every version of the Grails documentation is laughably incomplete. It's not made clear at all what the options are, how the name of the pageProperty relates to content on the original page, etc.
I suggest people write more formal documentation and/or include many more examples than the single cryptic example that only refers to how a page property might refer to a body onload property. In particular, the "content tag" example from here would be extremely helpful:
This comment on StackOverflow helped me a great deal, for example:
"the g:pageProperty is a very powerful, but very poorly documented thing. Lets say in my layout I specify where to put some content like this:
<html>
<body>
<g:pageProperty name="page.header" />
</body>
Now in my page I can specify some content:
<content tag="header">
<!-- header -->
</content>
Sitemesh will take the content tag, regardless of actual position in the HTML of the page and place it where it needs to go in the flow of the layout.
Even better, if within my page I render a template that also specifies a content area with a tag of "header", it will overwrite the first declaration, and it will be the template's content that will be rendered in the final layout."
After following the instructions outlined at: https://github.com/grails/grails-doc I receive the following errors. ?
Groovy-Guy:grails-doc deandelponte$ ./gradlew docs
:buildSrc:compileJava UP-TO-DATE
:buildSrc:compileGroovy UP-TO-DATE
:buildSrc:processResources UP-TO-DATE
:buildSrc:classes UP-TO-DATE
:buildSrc:jar UP-TO-DATE
:buildSrc:assemble UP-TO-DATE
:buildSrc:compileTestJava UP-TO-DATE
:buildSrc:compileTestGroovy UP-TO-DATE
:buildSrc:processTestResources UP-TO-DATE
:buildSrc:testClasses UP-TO-DATE
:buildSrc:test UP-TO-DATE
:buildSrc:check UP-TO-DATE
:buildSrc:build UP-TO-DATE
:fetchGrailsSource
Downloading Grails source code. If you already have a copy of the Grails source code checked out you can avoid this download by setting the grails.home system property to point to your local copy of the source. See README.txt for more information.
Grails source code has been downloaded to build/checkout/grails-src
:apiDocs
:buildSrc:compileJava UP-TO-DATE
:buildSrc:compileGroovy UP-TO-DATE
:buildSrc:processResources UP-TO-DATE
:buildSrc:classes UP-TO-DATE
:buildSrc:jar UP-TO-DATE
:buildSrc:assemble UP-TO-DATE
:buildSrc:compileTestJava UP-TO-DATE
:buildSrc:compileTestGroovy UP-TO-DATE
:buildSrc:processTestResources UP-TO-DATE
:buildSrc:testClasses UP-TO-DATE
:buildSrc:test UP-TO-DATE
:buildSrc:check UP-TO-DATE
:buildSrc:build UP-TO-DATE
:grails.core.ROOT:grails-async:compileJava UP-TO-DATE
:grails.core.ROOT:grails-async:processResources UP-TO-DATE
:grails.core.ROOT:grails-async:classes
:grails.core.ROOT:grails-async:jar UP-TO-DATE
:grails.core.ROOT:grails-bootstrap:compileJava UP-TO-DATE
:grails.core.ROOT:grails-bootstrap:processResources UP-TO-DATE
:grails.core.ROOT:grails-bootstrap:classes
:grails.core.ROOT:grails-bootstrap:compileUaaJava UP-TO-DATE
:grails.core.ROOT:grails-bootstrap:compileUaaGroovy
startup failed:
/Users/deandelponte/code/grails-doc/build/checkout/grails-src/grails-bootstrap/src/uaa/groovy/org/codehaus/groovy/grails/cli/support/UaaEnabler.groovy: 26: unable to resolve class org.codehaus.groovy.grails.resolve.DependencyManager
@ line 26, column 1.
import org.codehaus.groovy.grails.resolve.DependencyManager
^
/Users/deandelponte/code/grails-doc/build/checkout/grails-src/grails-bootstrap/src/uaa/groovy/org/codehaus/groovy/grails/cli/support/UaaEnabler.groovy: 19: unable to resolve class grails.util.BuildSettings
@ line 19, column 1.
import grails.util.BuildSettings
^
/Users/deandelponte/code/grails-doc/build/checkout/grails-src/grails-bootstrap/src/uaa/groovy/org/codehaus/groovy/grails/cli/support/UaaEnabler.groovy: 18: unable to resolve class grails.build.logging.GrailsConsole
@ line 18, column 1.
import grails.build.logging.GrailsConsole
^
/Users/deandelponte/code/grails-doc/build/checkout/grails-src/grails-bootstrap/src/uaa/groovy/org/codehaus/groovy/grails/cli/support/UaaEnabler.groovy: 20: unable to resolve class grails.util.PluginBuildSettings
@ line 20, column 1.
import grails.util.PluginBuildSettings
^
/Users/deandelponte/code/grails-doc/build/checkout/grails-src/grails-bootstrap/src/uaa/groovy/org/codehaus/groovy/grails/cli/support/UaaEnabler.groovy: 25: unable to resolve class org.codehaus.groovy.grails.plugins.GrailsPluginInfo
@ line 25, column 1.
import org.codehaus.groovy.grails.plugins.GrailsPluginInfo
^
5 errors
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':grails-bootstrap:compileUaaGroovy'.
Compilation failed; see the compiler error output for details.
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 41.326 secs
Groovy-Guy:grails-doc deandelponte$ ./gradlew --stacktrace docs
:buildSrc:compileJava UP-TO-DATE
:buildSrc:compileGroovy UP-TO-DATE
:buildSrc:processResources UP-TO-DATE
:buildSrc:classes UP-TO-DATE
:buildSrc:jar UP-TO-DATE
:buildSrc:assemble UP-TO-DATE
:buildSrc:compileTestJava UP-TO-DATE
:buildSrc:compileTestGroovy UP-TO-DATE
:buildSrc:processTestResources UP-TO-DATE
:buildSrc:testClasses UP-TO-DATE
:buildSrc:test UP-TO-DATE
:buildSrc:check UP-TO-DATE
:buildSrc:build UP-TO-DATE
:fetchGrailsSource
Downloading Grails source code. If you already have a copy of the Grails source code checked out you can avoid this download by setting the grails.home system property to point to your local copy of the source. See README.txt for more information.
Grails source code has been downloaded to build/checkout/grails-src
:apiDocs
:buildSrc:compileJava UP-TO-DATE
:buildSrc:compileGroovy UP-TO-DATE
:buildSrc:processResources UP-TO-DATE
:buildSrc:classes UP-TO-DATE
:buildSrc:jar UP-TO-DATE
:buildSrc:assemble UP-TO-DATE
:buildSrc:compileTestJava UP-TO-DATE
:buildSrc:compileTestGroovy UP-TO-DATE
:buildSrc:processTestResources UP-TO-DATE
:buildSrc:testClasses UP-TO-DATE
:buildSrc:test UP-TO-DATE
:buildSrc:check UP-TO-DATE
:buildSrc:build UP-TO-DATE
:grails.core.ROOT:grails-async:compileJava UP-TO-DATE
:grails.core.ROOT:grails-async:processResources UP-TO-DATE
:grails.core.ROOT:grails-async:classes
:grails.core.ROOT:grails-async:jar UP-TO-DATE
:grails.core.ROOT:grails-bootstrap:compileJava UP-TO-DATE
:grails.core.ROOT:grails-bootstrap:processResources UP-TO-DATE
:grails.core.ROOT:grails-bootstrap:classes
:grails.core.ROOT:grails-bootstrap:compileUaaJava UP-TO-DATE
:grails.core.ROOT:grails-bootstrap:compileUaaGroovy
startup failed:
/Users/deandelponte/code/grails-doc/build/checkout/grails-src/grails-bootstrap/src/uaa/groovy/org/codehaus/groovy/grails/cli/support/UaaEnabler.groovy: 26: unable to resolve class org.codehaus.groovy.grails.resolve.DependencyManager
@ line 26, column 1.
import org.codehaus.groovy.grails.resolve.DependencyManager
^
/Users/deandelponte/code/grails-doc/build/checkout/grails-src/grails-bootstrap/src/uaa/groovy/org/codehaus/groovy/grails/cli/support/UaaEnabler.groovy: 19: unable to resolve class grails.util.BuildSettings
@ line 19, column 1.
import grails.util.BuildSettings
^
/Users/deandelponte/code/grails-doc/build/checkout/grails-src/grails-bootstrap/src/uaa/groovy/org/codehaus/groovy/grails/cli/support/UaaEnabler.groovy: 18: unable to resolve class grails.build.logging.GrailsConsole
@ line 18, column 1.
import grails.build.logging.GrailsConsole
^
/Users/deandelponte/code/grails-doc/build/checkout/grails-src/grails-bootstrap/src/uaa/groovy/org/codehaus/groovy/grails/cli/support/UaaEnabler.groovy: 20: unable to resolve class grails.util.PluginBuildSettings
@ line 20, column 1.
import grails.util.PluginBuildSettings
^
/Users/deandelponte/code/grails-doc/build/checkout/grails-src/grails-bootstrap/src/uaa/groovy/org/codehaus/groovy/grails/cli/support/UaaEnabler.groovy: 25: unable to resolve class org.codehaus.groovy.grails.plugins.GrailsPluginInfo
@ line 25, column 1.
import org.codehaus.groovy.grails.plugins.GrailsPluginInfo
^
5 errors
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':grails-bootstrap:compileUaaGroovy'.
Compilation failed; see the compiler error output for details.
Try:
Run with --info or --debug option to get more log output.
Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':grails-bootstrap:compileUaaGroovy'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:68)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:34)
at org.gradle.api.internal.changedetection.CacheLockHandlingTaskExecuter$1.run(CacheLockHandlingTaskExecuter.java:34)
at org.gradle.cache.internal.DefaultCacheAccess$2.create(DefaultCacheAccess.java:200)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:172)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:198)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:111)
at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:83)
at org.gradle.api.internal.changedetection.CacheLockHandlingTaskExecuter.execute(CacheLockHandlingTaskExecuter.java:32)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:41)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:42)
at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:247)
at org.gradle.execution.DefaultTaskGraphExecuter.executeTask(DefaultTaskGraphExecuter.java:192)
at org.gradle.execution.DefaultTaskGraphExecuter.doExecute(DefaultTaskGraphExecuter.java:177)
at org.gradle.execution.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:83)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:36)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
at org.gradle.api.internal.changedetection.TaskCacheLockHandlingBuildExecuter$1.run(TaskCacheLockHandlingBuildExecuter.java:31)
at org.gradle.cache.internal.DefaultCacheAccess$1.create(DefaultCacheAccess.java:111)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:126)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:109)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:103)
at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79)
at org.gradle.api.internal.changedetection.TaskCacheLockHandlingBuildExecuter.execute(TaskCacheLockHandlingBuildExecuter.java:29)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:155)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:110)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:78)
at org.gradle.api.tasks.GradleBuild.build(GradleBuild.java:112)
at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:196)
at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:102)
at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:99)
at org.gradle.api.tasks.GradleBuild_Decorated.invokeMethod(Unknown Source)
at org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$4.execute(AnnotationProcessingTaskFactory.java:150)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$4.execute(AnnotationProcessingTaskFactory.java:145)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:477)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:466)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:60)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:34)
at org.gradle.api.internal.changedetection.CacheLockHandlingTaskExecuter$1.run(CacheLockHandlingTaskExecuter.java:34)
at org.gradle.cache.internal.DefaultCacheAccess$2.create(DefaultCacheAccess.java:200)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:172)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:198)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:111)
at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:83)
at org.gradle.api.internal.changedetection.CacheLockHandlingTaskExecuter.execute(CacheLockHandlingTaskExecuter.java:32)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:41)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:42)
at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:247)
at org.gradle.execution.DefaultTaskGraphExecuter.executeTask(DefaultTaskGraphExecuter.java:192)
at org.gradle.execution.DefaultTaskGraphExecuter.doExecute(DefaultTaskGraphExecuter.java:177)
at org.gradle.execution.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:83)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:36)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
at org.gradle.api.internal.changedetection.TaskCacheLockHandlingBuildExecuter$1.run(TaskCacheLockHandlingBuildExecuter.java:31)
at org.gradle.cache.internal.DefaultCacheAccess$1.create(DefaultCacheAccess.java:111)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:126)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:109)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:103)
at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79)
at org.gradle.api.internal.changedetection.TaskCacheLockHandlingBuildExecuter.execute(TaskCacheLockHandlingBuildExecuter.java:29)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:155)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:110)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:78)
at org.gradle.launcher.cli.RunBuildAction.execute(RunBuildAction.java:42)
at org.gradle.launcher.cli.RunBuildAction.execute(RunBuildAction.java:28)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
at org.gradle.launcher.exec.ExceptionReportingAction.execute(ExceptionReportingAction.java:31)
at org.gradle.launcher.exec.ExceptionReportingAction.execute(ExceptionReportingAction.java:20)
at org.gradle.launcher.Main.doAction(Main.java:48)
at org.gradle.launcher.exec.EntryPoint.run(EntryPoint.java:45)
at org.gradle.launcher.Main.main(Main.java:39)
at org.gradle.launcher.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
at org.gradle.launcher.ProcessBootstrap.run(ProcessBootstrap.java:32)
at org.gradle.launcher.GradleMain.main(GradleMain.java:24)
at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:33)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:130)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:47)
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
at org.gradle.api.internal.tasks.compile.ApiGroovyCompiler.execute(ApiGroovyCompiler.java:112)
at org.gradle.api.internal.tasks.compile.ApiGroovyCompiler.execute(ApiGroovyCompiler.java:39)
at org.gradle.api.internal.tasks.compile.daemon.CompilerDaemonServer.execute(CompilerDaemonServer.java:52)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.messaging.remote.internal.TypeCastDispatch.dispatch(TypeCastDispatch.java:30)
at org.gradle.messaging.remote.internal.WorkerProtocol.handleIncoming(WorkerProtocol.java:53)
at org.gradle.messaging.remote.internal.WorkerProtocol.handleIncoming(WorkerProtocol.java:31)
at org.gradle.messaging.remote.internal.ProtocolStack$ProtocolStage.handleIncoming(ProtocolStack.java:167)
at org.gradle.messaging.remote.internal.ProtocolStack$BottomStage.handleIncoming(ProtocolStack.java:277)
at org.gradle.messaging.remote.internal.ProtocolStack$BottomConnection$1.run(ProtocolStack.java:299)
at org.gradle.messaging.remote.internal.ProtocolStack$ExecuteRunnable.dispatch(ProtocolStack.java:120)
at org.gradle.messaging.remote.internal.ProtocolStack$ExecuteRunnable.dispatch(ProtocolStack.java:116)
at org.gradle.messaging.dispatch.AsyncDispatch.dispatchMessages(AsyncDispatch.java:132)
at org.gradle.messaging.dispatch.AsyncDispatch.access$000(AsyncDispatch.java:33)
at org.gradle.messaging.dispatch.AsyncDispatch$1.run(AsyncDispatch.java:72)
at org.gradle.messaging.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:66)
BUILD FAILED
I was looking at the code for stop-app and noticed that it is hitting the url /shutdown
. Is this needed to be supplied by the grails application? Perhaps a bit more explanation?
in the migration doc it says to do
cp -rf ../old_app/grails-app grails-app
but this creates a grails-app directory inside the grails-app directory
this should be changed to
cp -rf ../old_app/grails-app/* grails-app
When building documentation, grails-core source is downloaded, but this can be avoided:
Additionally you can create a local.properties file with this variable set:
grails.home=/home/user/projects/grails-core
(https://grails.github.io/grails-doc/3.0.3/guide/contributing.html#patchesDoc)
I can't get this to work. Tried with both absolute and relative path. Can't find any references to local.properties in build.gradle, the only references I find is in .gitignore and 4 .gdoc-files.
Pointing to grails core on the command line works. E.g.
./gradlew -Dgrails.home=/home/user/projects/grails-core docs
Specifically:
"GSP features the ability to automatically HTML encode GSP expressions, and as of Grails 2.3 this is the default configuration. The default configuration (found in application.groovy) for a newly created Grails application can be seen below:"
This should be listed as application.yml. Additionally, the code example below should probably be in yml instead of the Groovy format.
I can open a PR if this is something that should be changed.
Upgrading from Grails 2.x says that
web-app is now src/main/webapp.
Then it says that
For public assets such as static HTML pages and so on these should go in src/main/resources/public.
So which is it?
Today I found about http://grails.github.io/grails-doc/2.3.x/api/grails/test/spock/IntegrationSpec.html
It should be mentioned somewhere in the testing documentation.
i get a unnecessary horizontal scroll bar as a result of a long code line in 3 Upgrading from Grails 2.2
I noticed that for the past two releases the docs grails version has not been updated. So although the release is of 3.0.3 and 3.0.4 the grails version at the top still says 3.0.2
Maybe create a script for releasing the docs?
I noticed that it is not possible to define common variables for the complete documentation.
Like in grails docs the file names were present in a lot of places. That causes changing them difficult.
Similarly external links are another use case.
It would be good to have markdown support for rendering properties read from a configuration file.
I was looking at https://github.com/grails/grails-doc/blob/master/src/en/ref/Command%20Line/clean.gdoc when it came to my mind that should I be sending pull request for gradle commands? Like clean can be used be like grails clean
or gradle clean
.
This information can be added to "Contributing Documentation" part.
Since Spock is the default, it would be nice to have all examples in the test section in the Spock format, currently most of them is testSomething()
.
If the user is looking for JUnit tests, maybe we can advice to read the 2.2.x docs.
There are many places where plugin or Grails documentation is unclear or incomplete. Adding the ability for community comments (moderated, perhaps), to be added would likely improve documentation immensely. For instance, we spent a few weeks trying to figure out how to use the ElasticSearch plugin and we have a huge amount of information to share with the community, because that particular plugin is very poorly documented. However, there's no easy way to annotate the existing documentation.
In the documentation, the command is referred to as 'create-tag-lib'. On the command line, what actually works is 'create-taglib'. Which is correct? I can update the docs or the code as needed. This is as of Grails 3.0.1
It currently says that it is for archives to grials-JIRA. But that is not correct anymore so what should this be changed to?
The heading of findOrSaveBy* page says findOrCreateBy*. May be a copy/paste typo.
Grails 3 uses
grails test-app -unit
syntax instead of
grails test app unit:
And using phase:type syntax seems to have some differences
grails test-app --clean -unit:spock
This command end up running integration tests.
There are a few references to BuildConfig.groovy
in grails-3 documentation which have to be changed to build.gradle
. Most of these fixes are not trivial because they require some knowledge of the build system and testing.
Can we please upgrade the iText version? This causes so many conflicts with plugins that use newer versions.
Hi
I was reading through grails 2.4 documentation when I found that the documentation has some details in the introduction section under the heading "More Advanced Subqueries in GORM" at the link
http://grails.github.io/grails-doc/2.5.0/guide/introduction.html#whatsNew24 But this information is not present in the main GORM docuementation. The complete section "More Advanced Subqueries in GORM" can be merged into main GORM documentation.
This is required because in Grails 3 docs "What's new in Grails 2.4" is not present. So essentially this information has been lost in grails 3 docs.
There are two ways to iterate validation errors described in documentation: errors.allErrors.each
and errors.each
. There are a few examples for each (ref/Domain Classes/errors.gdoc
, ref/Domain Classes/hasErrors.gdoc
, etc). But I believe that errors.each
is incorrect.
I've run some tests and discovered that:
errors
returns org.grails.datastore.mapping.validation.ValidationErrors
errors.each
emits the same object (ValidationErrors
)errors.allErrors.each
emits org.springframework.validation.FieldError
.ValidationErrors
and interface org.springframework.validation.Error
(mentioned in grails docs) don't look like they support iteration. errors.each
is probably just a default implementation from Object
which returns self.
I suppose that errors.each
is just a typo. But I'm quite new to grails so I'm not 100% sure.
This will help with questions like grails/grails-core#9212
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.