tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Gonschorek <fe...@netzgut.net>
Subject Re: Getting current tapestry 5.4-SNAPSHOT head running in eclipse with git and gradle
Date Thu, 20 Dec 2012 01:43:45 GMT
Thank you Lance and Uli,

with your help I made some important steps into the right direction. I now
use the grade eclipse plugin, it works very well. I also changed the java
version in the main build.gradle file from 1.5 to 1.6 (Uli: you changed it
back from 1.6 back to 1.5 in 209efb827 8 weeks ago).

the remaining compilation errors where from some missing java source files
the the "org.apache.tapestry5.internal.antlr" package - i assumed they are
being generated with the first full gradle buid.

So I tried to build everything from command line (cygwin, windows 7
"./gradlew build"). But here my next problems arise: The build fails very
soon when building tapestry-beanvalidator in
the TapestryBeanValidationIntegrationTest and the antlr files are not being
generated. After looking into things, i found out that the tests assert
that there are english bean-validation messages present - my environment is
german and the integration-apps output german messages and formatting, so
the tests fail. Fix was easy: i added
"configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en");" in the
AppModule of the beanvalidator integration test. now beanvalidator module
builds and all tests pass - but now in tapestry-core there are other tests
failing - also because of german localized messages and formatting (dates,
numbers)  - the tests assert english messages and formatting. the first
four failing tests are:

1372 methods, 24 failed, 1348 passed

basic_grid:
"//img[@class='t-sort-icon']/@alt was '[aufw.]' not '[Asc]'"

bean_editor:
"Page did not contain 'You must provide at least 3 characters for First
Name.'."

calendar_field_inside_bean_editor:
"Page did not contain 'Apr 6, 1978'."

cancel_button
"ERROR: Element //input[@value='Cancel'] not found"



Now i am stuck - i would like not to have to add the fixed english locale in
every "AppModule" and every Integration test.

I tried to set the locale before building the tests from command line but
with no success.

I tried:

export LANG="en_US"
export LC_ALL"en_US"
./gradlew -Dtapestry.supported-locales=en build

I also added the line
JAVA_OPTS="-Dtapestry.supported-locales=en"
on top of the gradlew build script without success - the tests continue to
fail.

Is this a bug? I would like to help and try to fix it and improve the tests
or the test environment, that the locale of the user where the build runs
is not used and english is being used instead. Or is my build setup wrong
and cygwin is in some way not supported? Any ideas?

Thanks you guys
Felix







On Tue, Dec 18, 2012 at 3:56 PM, Ulrich Stärk <uli@spielviel.de> wrote:

> On 18.12.2012 13:29, Felix Gonschorek wrote:
> > Okay, i would like to contribute back to the tapestry project and submit
> > patches and tests. I have difficulties to get tapestry running in my
> > current dev environment:
> >
> > - eclipse 3.8.1 (jdt, gradle plugin, git team provider and m2 plugin
> > installed)
> > - win 7
> >
> > usually i work with mercurial and m2eclipse, but git and gradle should'nt
> > be a problem.
> >
> > This is what i do:
> >
> >> git clone http://git-wip-us.apache.org/repos/asf/tapestry-5.git
> >> cd tapestry-5
> >> ./gradlew eclipse
> >
> > in eclipse:
> >
> > "import" -> "existing project into workspace" -> "select tapestry-5
> folder
> > in workspace"
> >
> > Result: i get a single tapestry-5 project, but no classpaths are set.
> >
> > after some investigation i see, that eclipse only sees the .project files
> > in the project root folder, not in the sub-projects. so i remove the
> > projects in eclipse without removing the files on the disk. then i delete
> > the .project file in the root folder and import the "existing projects
> into
> > workspace" again.
> >
> > Now the subprojects (tapestry-core, tapestry-ioc, tapestry-test....) are
> > being detected and i can import the projects.
> >
> > Result: i have now 20 seperate projects in my eclipse workspace.
>
> Don't use the eclipse gradle target. Do Import -> Gradle Project after git
> clone and select the
> parent module. Worked like a charm for me. Eclipse's git integration sucks
> though.
>
> >
> > I get a lot of compilation errors:
> >
> > 1) The projects are set up for java 1.5 and in java 1.5 the "@Override"
> > annotation on methods that implement an interface are not allowed. The
> > @Override annotation is only allowed for methods overriding the method
> of a
> > superclass.
> > Fix: i changed the "sourceCompatibility" and "targetCompatibility" in the
> > root "build.gradle" to 1.6, run the "./gradlew eclipse" task again and
> > refresh all projects.
> > Result: The most compilation errors are gone.
> > Question: How can i override the "sourceCompatiblity" and
> > "targetCompatibility" settings without changing the main build.gradle
> file?
> > Strictly speaking, the sourceCompatibility is not 1.5 as far as i
> > understand the setting... should this be fixed in general?
>
> I thought I fixed that in 209efb827.
>
> >
> > 2) I am missing some clojure dependency. There are 49 compilation errors,
> > as far as i can see all of them are related to that:
> > "The import clojure cannot be resolved". File:
> >
> /tapestry-clojure/src/main/java/org/apache/tapestry5/internal/clojure/ClojureBuilderImpl.java
> > Path:  line 19
> > Question: How can i fix this? In the build.gradle file of the
> > tapestry-clojure is this statement:
> >
> > dependencies {
> >  "provided "org.clojure:clojure:1.4.0""
> > }
> >
> > Obviously it is not provided ;-)
>
> Right. I thought I fixed that back in October when I got the automated
> build running again but
> apparently I missed that one. I'll have a look.
>
> Uli
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message