Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Critical Critical
    • Resolution: Complete
    • Affects Version/s: 1.2.1.RELEASE
    • Fix Version/s: 1.2.2.RELEASE
    • Component/s: @ CORE
    • Labels:
      None
    • Environment:
      Mac OS X 10.7.3, JDK 7

      Description

      As a developer and Spring evangelist, I would like Spring Roo to build using Java 7.

      Given the following Project creation: project --topLevelPackage com.gordondickens.rootest --java 7 --projectName rootest

      ~.web roo> perform package
      The command 'mvn -DskipTests=true package' did not complete successfully
      [Thread-9] [INFO] Scanning for projects...
      [Thread-9] [INFO]
      [Thread-9] [INFO] ------------------------------------------------------------------------
      [Thread-9] [INFO] Building rootest 0.1.0.BUILD-SNAPSHOT
      [Thread-9] [INFO] ------------------------------------------------------------------------
      [Thread-9] [INFO]
      [Thread-9] [INFO] — aspectj-maven-plugin:1.2:compile (default) @ rootest —
      [Thread-9] [ERROR] declare @type is only supported at Java 5 compliance level or above
      [Thread-9] [ERROR] declare @type is only supported at Java 5 compliance level or above
      [Thread-9] [ERROR] declare @type is only supported at Java 5 compliance level or above
      [Thread-9] [ERROR] declare @type is only supported at Java 5 compliance level or above
      [Thread-9] [ERROR] declare @type is only supported at Java 5 compliance level or above
      [Thread-9] [INFO] ------------------------------------------------------------------------
      [Thread-9] [INFO] BUILD FAILURE
      [Thread-9] [INFO] ------------------------------------------------------------------------
      [Thread-9] [INFO] Total time: 7.436s
      [Thread-9] [INFO] Finished at: Thu Apr 05 10:39:08 EDT 2012
      [Thread-9] [INFO] Final Memory: 17M/490M
      [Thread-9] [INFO] ------------------------------------------------------------------------
      [Thread-9] [ERROR] Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.2:compile (default) on project rootest: Compiler errors :
      [Thread-9] [ERROR] error at declare @type: ItemRepository: @Repository;
      [Thread-9] [ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      [Thread-9] [ERROR] /code/A-Gordons-Git/rootest121/src/main/java/com/gordondickens/rootest/repository/ItemRepository_Roo_Jpa_Repository.aj:18:0::0 declare @type is only supported at Java 5 compliance level or above
      [Thread-9] [ERROR] error at declare @type: ItemServiceImpl: @Service;
      [Thread-9] [ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      [Thread-9] [ERROR] /code/A-Gordons-Git/rootest121/src/main/java/com/gordondickens/rootest/service/ItemServiceImpl_Roo_Service.aj:16:0::0 declare @type is only supported at Java 5 compliance level or above
      [Thread-9] [ERROR] error at declare @type: ItemServiceImpl: @Transactional;
      [Thread-9] [ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      [Thread-9] [ERROR] /code/A-Gordons-Git/rootest121/src/main/java/com/gordondickens/rootest/service/ItemServiceImpl_Roo_Service.aj:18:0::0 declare @type is only supported at Java 5 compliance level or above
      [Thread-9] [ERROR] error at declare @type: ApplicationConversionServiceFactoryBean: @Configurable;
      [Thread-9] [ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      [Thread-9] [ERROR] /code/A-Gordons-Git/rootest121/src/main/java/com/gordondickens/rootest/web/ApplicationConversionServiceFactoryBean_Roo_ConversionService.aj:16:0::0 declare @type is only supported at Java 5 compliance level or above
      [Thread-9] [ERROR] error at declare @type: Item: @Entity;
      [Thread-9] [ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^
      [Thread-9] [ERROR] /code/A-Gordons-Git/rootest121/src/main/java/com/gordondickens/rootest/domain/Item_Roo_Jpa_Entity.aj:16:0::0 declare @type is only supported at Java 5 compliance level or above
      [Thread-9] [ERROR] -> [Help 1]
      [Thread-9] [ERROR]
      [Thread-9] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
      [Thread-9] [ERROR] Re-run Maven using the -X switch to enable full debug logging.
      [Thread-9] [ERROR]
      [Thread-9] [ERROR] For more information about the errors and possible solutions, please read the following articles:
      [Thread-9] [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

        Activity

        Hide
        Gordon Dickens added a comment -
        Show
        Gordon Dickens added a comment - I just posted a blog for anyone interested: http://gordondickens.com/wordpress/2012/04/05/configuring-spring-roo-for-java-7/
        Hide
        Alan Stewart added a comment -

        Have you used the aspectj-maven-plugin 1.4 with Java 5 and 6? As far as I am aware, the comment in the plugin in the generated poms for Roo projects still applies, ie

        <!-- NB: do not use 1.3 or 1.3.x due to MASPECTJ-90 and do not use 1.4 due to declare parents issue  -->

        I would like to update all the dependencies according to your blog, but would prefer not having to adjust the values based on java version.

        Show
        Alan Stewart added a comment - Have you used the aspectj-maven-plugin 1.4 with Java 5 and 6? As far as I am aware, the comment in the plugin in the generated poms for Roo projects still applies, ie <!-- NB: do not use 1.3 or 1.3.x due to MASPECTJ-90 and do not use 1.4 due to declare parents issue --> I would like to update all the dependencies according to your blog, but would prefer not having to adjust the values based on java version.
        Hide
        Alan Stewart added a comment -

        In fact clinic.roo fails with an AspectJ error using the versions in the blog with jdk 7 with:

        [ERROR] Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.4:test-compile (default) on project petclinic: Compiler errors:
        [ERROR] abort ABORT -- (RuntimeException) Problem processing attributes in /home/stewarta/projects/roo-test/petclinic/target/classes/com/springsource/petclinic/domain/Visit_Roo_Jpa_Entity.class
        [ERROR] Problem processing attributes in /home/stewarta/projects/roo-test/petclinic/target/classes/com/springsource/petclinic/domain/Visit_Roo_Jpa_Entity.class
        [ERROR] java.lang.RuntimeException: Problem processing attributes in /home/stewarta/projects/roo-test/petclinic/target/classes/com/springsource/petclinic/domain/Visit_Roo_Jpa_Entity.class
        [ERROR] at org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:385)
        [ERROR] at org.aspectj.weaver.bcel.BcelObjectType.<init>(BcelObjectType.java:162)
        [ERROR] at org.aspectj.weaver.bcel.BcelWorld.buildBcelDelegate(BcelWorld.java:394)
        [ERROR] at org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType(BcelWorld.java:474)
        [ERROR] at org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType(BcelWorld.java:440)
        [ERROR] at org.aspectj.weaver.bcel.BcelWeaver.isAspect(BcelWeaver.java:319)
        [ERROR] at org.aspectj.weaver.bcel.BcelWeaver.addAspectsFromDirectory(BcelWeaver.java:298)
        [ERROR] at org.aspectj.weaver.bcel.BcelWeaver.addLibraryJarFile(BcelWeaver.java:236)
        [ERROR] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.initBcelWorld(AjBuildManager.java:871)
        [ERROR] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:249)
        [ERROR] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:185)
        [ERROR] at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
        [ERROR] at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
        [ERROR] at org.aspectj.tools.ajc.Main.run(Main.java:371)
        [ERROR] at org.aspectj.tools.ajc.Main.runMain(Main.java:248)
        [ERROR] at org.codehaus.mojo.aspectj.AbstractAjcCompiler.execute(AbstractAjcCompiler.java:405)
        [ERROR] at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        [ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        [ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        [ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
        [ERROR] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        [ERROR] at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        [ERROR] at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        [ERROR] at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        [ERROR] at java.lang.reflect.Method.invoke(Method.java:601)
        [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
        [ERROR] Caused by: java.lang.ClassCastException: org.aspectj.apache.bcel.classfile.ConstantClass cannot be cast to org.aspectj.apache.bcel.classfile.ConstantUtf8
        [ERROR] at org.aspectj.apache.bcel.classfile.ConstantPool.getConstantUtf8(ConstantPool.java:223)
        [ERROR] at org.aspectj.weaver.bcel.BcelConstantPoolReader.readUtf8(BcelConstantPoolReader.java:31)
        [ERROR] at org.aspectj.weaver.VersionedDataInputStream.readUtf8(VersionedDataInputStream.java:61)
        [ERROR] at org.aspectj.weaver.VersionedDataInputStream.readSignatureAsUnresolvedType(VersionedDataInputStream.java:81)
        [ERROR] at org.aspectj.weaver.patterns.ExactTypePattern.readTypePattern150(ExactTypePattern.java:271)
        [ERROR] at org.aspectj.weaver.patterns.ExactTypePattern.read(ExactTypePattern.java:260)
        [ERROR] at org.aspectj.weaver.patterns.TypePattern.read(TypePattern.java:310)
        [ERROR] at org.aspectj.weaver.patterns.DeclareAnnotation.read(DeclareAnnotation.java:277)
        [ERROR] at org.aspectj.weaver.patterns.Declare.read(Declare.java:48)
        [ERROR] at org.aspectj.weaver.AjAttribute.read(AjAttribute.java:121)
        [ERROR] at org.aspectj.weaver.bcel.Utility.readAjAttributes(Utility.java:101)
        [ERROR] at org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:381)
        [ERROR] ... 36 more
        [ERROR] -> [Help 1]
        [ERROR] 
        [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
        [ERROR] Re-run Maven using the -X switch to enable full debug logging.
        [ERROR] 
        [ERROR] For more information about the errors and possible solutions, please read the following articles:
        [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
        
        Show
        Alan Stewart added a comment - In fact clinic.roo fails with an AspectJ error using the versions in the blog with jdk 7 with: [ERROR] Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.4:test-compile ( default ) on project petclinic: Compiler errors: [ERROR] abort ABORT -- (RuntimeException) Problem processing attributes in /home/stewarta/projects/roo-test/petclinic/target/classes/com/springsource/petclinic/domain/Visit_Roo_Jpa_Entity.class [ERROR] Problem processing attributes in /home/stewarta/projects/roo-test/petclinic/target/classes/com/springsource/petclinic/domain/Visit_Roo_Jpa_Entity.class [ERROR] java.lang.RuntimeException: Problem processing attributes in /home/stewarta/projects/roo-test/petclinic/target/classes/com/springsource/petclinic/domain/Visit_Roo_Jpa_Entity.class [ERROR] at org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:385) [ERROR] at org.aspectj.weaver.bcel.BcelObjectType.<init>(BcelObjectType.java:162) [ERROR] at org.aspectj.weaver.bcel.BcelWorld.buildBcelDelegate(BcelWorld.java:394) [ERROR] at org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType(BcelWorld.java:474) [ERROR] at org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType(BcelWorld.java:440) [ERROR] at org.aspectj.weaver.bcel.BcelWeaver.isAspect(BcelWeaver.java:319) [ERROR] at org.aspectj.weaver.bcel.BcelWeaver.addAspectsFromDirectory(BcelWeaver.java:298) [ERROR] at org.aspectj.weaver.bcel.BcelWeaver.addLibraryJarFile(BcelWeaver.java:236) [ERROR] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.initBcelWorld(AjBuildManager.java:871) [ERROR] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:249) [ERROR] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:185) [ERROR] at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112) [ERROR] at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) [ERROR] at org.aspectj.tools.ajc.Main.run(Main.java:371) [ERROR] at org.aspectj.tools.ajc.Main.runMain(Main.java:248) [ERROR] at org.codehaus.mojo.aspectj.AbstractAjcCompiler.execute(AbstractAjcCompiler.java:405) [ERROR] at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) [ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) [ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) [ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) [ERROR] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) [ERROR] at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) [ERROR] at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) [ERROR] at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [ERROR] at java.lang.reflect.Method.invoke(Method.java:601) [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) [ERROR] Caused by: java.lang.ClassCastException: org.aspectj.apache.bcel.classfile.ConstantClass cannot be cast to org.aspectj.apache.bcel.classfile.ConstantUtf8 [ERROR] at org.aspectj.apache.bcel.classfile.ConstantPool.getConstantUtf8(ConstantPool.java:223) [ERROR] at org.aspectj.weaver.bcel.BcelConstantPoolReader.readUtf8(BcelConstantPoolReader.java:31) [ERROR] at org.aspectj.weaver.VersionedDataInputStream.readUtf8(VersionedDataInputStream.java:61) [ERROR] at org.aspectj.weaver.VersionedDataInputStream.readSignatureAsUnresolvedType(VersionedDataInputStream.java:81) [ERROR] at org.aspectj.weaver.patterns.ExactTypePattern.readTypePattern150(ExactTypePattern.java:271) [ERROR] at org.aspectj.weaver.patterns.ExactTypePattern.read(ExactTypePattern.java:260) [ERROR] at org.aspectj.weaver.patterns.TypePattern.read(TypePattern.java:310) [ERROR] at org.aspectj.weaver.patterns.DeclareAnnotation.read(DeclareAnnotation.java:277) [ERROR] at org.aspectj.weaver.patterns.Declare.read(Declare.java:48) [ERROR] at org.aspectj.weaver.AjAttribute.read(AjAttribute.java:121) [ERROR] at org.aspectj.weaver.bcel.Utility.readAjAttributes(Utility.java:101) [ERROR] at org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:381) [ERROR] ... 36 more [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch . [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http: //cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
        Hide
        Alan Stewart added a comment - - edited

        Your test project above builds and tests OK with JDK 7 now following the update of AspectJ to 1.7.0.RC1 in Git ID 98fb88512db07dfb7b0313755a06ff0b83fcb05e. However at this point I have not updated the aspectj-maven-plugin to 1.4 as there still exists an issue with implementing interfaces via ITDs (ie declare parents). Try the Roo pizzashop sample with the aspectj-maven-plugin set to 1.4 to see the issue.

        Show
        Alan Stewart added a comment - - edited Your test project above builds and tests OK with JDK 7 now following the update of AspectJ to 1.7.0.RC1 in Git ID 98fb88512db07dfb7b0313755a06ff0b83fcb05e. However at this point I have not updated the aspectj-maven-plugin to 1.4 as there still exists an issue with implementing interfaces via ITDs (ie declare parents). Try the Roo pizzashop sample with the aspectj-maven-plugin set to 1.4 to see the issue.
        Hide
        Tim added a comment -

        There is work around for the aspectj-maven-plugin 1.4, see below:
        <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>aspectj-maven-plugin</artifactId>
        <version>1.4</version>
        <!-- NB: do not use 1.3 or 1.3.x due to MASPECTJ-90 and do not use 1.4 due to declare parents issue -->
        <dependencies>
        <!-- NB: You must use Maven 2.0.9 or above or these are ignored (see MNG-2972) -->
        <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>$

        {aspectj.version}</version>
        </dependency>
        <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjtools</artifactId>
        <version>${aspectj.version}

        </version>
        </dependency>
        </dependencies>
        <executions>
        <execution>
        <goals>
        <goal>compile</goal>
        <goal>test-compile</goal>
        </goals>
        <!-- NB: force aspect compile before normal compile, required for 1.3+ see: MASPECTJ-13, MASPECTJ-92 -->
        <phase>process-sources</phase>
        </execution>
        </executions>
        <configuration>
        <outxml>true</outxml>
        <aspectLibraries>
        <aspectLibrary>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aspects</artifactId>
        </aspectLibrary>
        </aspectLibraries>
        <source>$

        {java.version}</source>
        <target>${java.version}

        </target>
        </configuration>
        </plugin>

        Why not do this?

        Show
        Tim added a comment - There is work around for the aspectj-maven-plugin 1.4, see below: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> <version>1.4</version> <!-- NB: do not use 1.3 or 1.3.x due to MASPECTJ-90 and do not use 1.4 due to declare parents issue --> <dependencies> <!-- NB: You must use Maven 2.0.9 or above or these are ignored (see MNG-2972) --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>$ {aspectj.version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjtools</artifactId> <version>${aspectj.version} </version> </dependency> </dependencies> <executions> <execution> <goals> <goal>compile</goal> <goal>test-compile</goal> </goals> <!-- NB: force aspect compile before normal compile, required for 1.3+ see: MASPECTJ-13, MASPECTJ-92 --> <phase>process-sources</phase> </execution> </executions> <configuration> <outxml>true</outxml> <aspectLibraries> <aspectLibrary> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> </aspectLibrary> </aspectLibraries> <source>$ {java.version}</source> <target>${java.version} </target> </configuration> </plugin> Why not do this?
        Hide
        Bruce Edge added a comment -

        Adding the above
        <phase>process-sources</phase>
        works for me.

        Show
        Bruce Edge added a comment - Adding the above <phase>process-sources</phase> works for me.

          People

          • Assignee:
            Alan Stewart
            Reporter:
            Gordon Dickens
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: