[JBoss JIRA] (FORGE-150) Implementations of JavaParser Interfaces should maintain equality with other implementations
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-150?page=com.atlassian.jira.plugin.... ]
George Gastaldi updated FORGE-150:
----------------------------------
Fix Version/s: 1.1.4.Final
(was: 1.1.3.Final)
> Implementations of JavaParser Interfaces should maintain equality with other implementations
> --------------------------------------------------------------------------------------------
>
> Key: FORGE-150
> URL: https://issues.jboss.org/browse/FORGE-150
> Project: Forge
> Issue Type: Enhancement
> Components: Parsers / File Manipulation
> Affects Versions: 1.0.0.Alpha4
> Reporter: Jason Porter
> Assignee: Ivan St. Ivanov
> Fix For: 1.1.4.Final
>
>
> Until I saw how to create an Import (which I still don't agree with having to be tied to the Implementation) I thought about creating my own implementation for a test (a mock would be even better) so I looked at the equals for the ImportImpl and it does not keep equality with other implementations because it checks to see if the class is the same. It also checks internal state instead of using the interface methods.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 5 months
[JBoss JIRA] (FORGE-464) Create Debian/Ubuntu package for Forge
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-464?page=com.atlassian.jira.plugin.... ]
George Gastaldi updated FORGE-464:
----------------------------------
Fix Version/s: 1.1.4.Final
(was: 1.1.3.Final)
> Create Debian/Ubuntu package for Forge
> --------------------------------------
>
> Key: FORGE-464
> URL: https://issues.jboss.org/browse/FORGE-464
> Project: Forge
> Issue Type: Feature Request
> Components: Forge Build
> Affects Versions: 1.0.6.Final
> Reporter: Dan Allen
> Priority: Optional
> Fix For: 1.1.4.Final
>
>
> This issue should act as an umbrella for this project. Use related issues to track the steps.
> Creating and publishing Forge packages for Debian & Ubuntu would really help boost adoption of Forge, IMO. Telling someone to download an unzip seems simple enough, but there's just something even more elegant about:
> sudo apt-get install jboss-forge
> (no sudo if you're hip enough, one of those GUIs if your glitzy enough)
> Debian provides guidelines for new package maintainers [1].
> [1] http://www.debian.org/doc/manuals/maint-guide/
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 5 months
[JBoss JIRA] (FORGE-518) projectFactory.createProjet doesn't work out of embeded plugins
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-518?page=com.atlassian.jira.plugin.... ]
George Gastaldi updated FORGE-518:
----------------------------------
Fix Version/s: 1.1.4.Final
(was: 1.1.3.Final)
> projectFactory.createProjet doesn't work out of embeded plugins
> ---------------------------------------------------------------
>
> Key: FORGE-518
> URL: https://issues.jboss.org/browse/FORGE-518
> Project: Forge
> Issue Type: Bug
> Components: Builtin Plugins, Forge Build
> Affects Versions: 1.0.0.Final
> Environment: Windows XP Professional Service Pack 3 - 32 bits
> Reporter: Guillaume Gustin
> Labels: projectFactory.createProject
> Fix For: 1.1.4.Final
>
> Attachments: ajf-forge.zip, aTest-compacted.zip, forge-screenshot.png
>
>
> I want to create a new plugin which allow to create a solution (set of projects) based on a specific solution model. But when the forge execute the project building code "projectFactory.createProject(targetProjectDir, DependencyFacet.class, MetadataFacet.class, JavaSourceFacet.class, ResourceFacet.class)" i receive the exception "org.jboss.forge.project.ProjectModelException" with the message "Could not create Maven project building request"
> When i fire my new plugin, my forge promps is "[no project] myTempdir $ ", I have the same exception when I copy the "new-project plugin" as "new-new-project plugin".
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 5 months
[JBoss JIRA] (FORGE-471) JavaResource handling of files with nested classes is incorrect
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-471?page=com.atlassian.jira.plugin.... ]
George Gastaldi updated FORGE-471:
----------------------------------
Fix Version/s: 1.1.4.Final
(was: 1.1.3.Final)
> JavaResource handling of files with nested classes is incorrect
> ---------------------------------------------------------------
>
> Key: FORGE-471
> URL: https://issues.jboss.org/browse/FORGE-471
> Project: Forge
> Issue Type: Bug
> Components: Parsers / File Manipulation, Resources API
> Affects Versions: 1.0.6.Final
> Reporter: Rudy De Busscher
> Fix For: 1.1.4.Final
>
>
> In the case you have following java source file
> public class Test {
>
> private String mainProperty;
> public void mainMethod() {
> System.out.println("Hi");
> }
> public static final class Nested {
> private String innerProperty;
> public void innerMethod() {
> System.out.println("I'm inner");
> }
> }
> }
> And running following statements
> JavaResource javaResource = factory.getResourceFrom(new File"/path/to/file/Test.java")).reify(JavaResource.class);
> System.out.println(javaResource.toString());
> List<Resource<?>> resources = javaResource.listResources();
> for (Resource res : resources) {
> System.out.println(res.getFullyQualifiedName());
> }
> You get following output
> be.rubus.forge.deltaspike.test.projectstage.Nested
> /path/to/file/Test.java/innerProperty::String
> /path/to/file/Test.java/mainMethod()::void
> /path/to/file/Test.java/innerMethod()::void
> The wrong name is due to the fact that TypeDeclarationFinderVisitor records every class type the parser finds. In our case the 2 class names but only the last one is kept (first name is overwritten)
> The MethodFinderVisitor has a similar problem, it gets called twice and adds up the found methods.
> So there need to be a general review of the visitors to be able to handle nested or multiple classes in one java source file.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 5 months
[JBoss JIRA] (FORGE-436) JavaSource needs a way to parse nested annotations
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-436?page=com.atlassian.jira.plugin.... ]
George Gastaldi updated FORGE-436:
----------------------------------
Fix Version/s: 1.1.4.Final
(was: 1.1.3.Final)
> JavaSource needs a way to parse nested annotations
> --------------------------------------------------
>
> Key: FORGE-436
> URL: https://issues.jboss.org/browse/FORGE-436
> Project: Forge
> Issue Type: Feature Request
> Components: Parsers / File Manipulation
> Affects Versions: 1.0.6.Final
> Reporter: Richard Kennard
> Fix For: 1.1.4.Final
>
>
> Currently, if presented with a Java file like this:
> public class MockAnnotatedMethod {
> @MockAnnotation( anAnnotation = @AnotherMockAnnotation(43)),
> public MockAnnotatedMethod() {
> }
> }
> JavaSource can easily parse @MockAnnotation into org.jboss.forge.parser.java.Annotation. But then calling...
> annotationSource.getLiteralValue("anAnnotation")
> ...results in the String...
> "@AnotherMockAnnotation(43)"
> There doesn't appear to be a good way to parse this String into another org.jboss.forge.parser.java.Annotation, complete with initializing its value to be '43'.
> This is needed for Metawidget. Metawidget's inspectors can be written to inspect arbitrary metadata. It is feasible (though not currently required) that someone might want to parse:
> @AttributeOverride( name = "name", column = @Column( name = "name", nullable = false ) )
> public class Person {
> ...
> }
> This is a JPA annotation that makes the 'name' field a 'required' field, but to do so it uses nested annotations.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 5 months
[JBoss JIRA] (FORGE-385) Current directory is poor default for new-project location when existing project is detected
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-385?page=com.atlassian.jira.plugin.... ]
George Gastaldi updated FORGE-385:
----------------------------------
Fix Version/s: 1.1.4.Final
(was: 1.1.3.Final)
> Current directory is poor default for new-project location when existing project is detected
> --------------------------------------------------------------------------------------------
>
> Key: FORGE-385
> URL: https://issues.jboss.org/browse/FORGE-385
> Project: Forge
> Issue Type: Enhancement
> Components: Builtin Plugins
> Affects Versions: 1.0.0.Beta3
> Reporter: Dan Allen
> Priority: Minor
> Labels: Starter
> Fix For: 1.1.4.Final
>
>
> When creating a new project using the new-project command, forge will offer the current directory as the target location if a project with the same name is found.
> {code}
> $ new-project --named example --topLevelPackage org.example
> ***ERROR*** [/home/dallen/example] already contains a project; please use a different folder.
> Where would you like to create the project? [Press ENTER to use the current directory: dallen]
> {code}
> This default is a recipe for disaster. If there is a project in the way, then using the current directory puts that project *in* the project being created. Additionally, if the current directory is $HOME, then the project will get overlaid in a directory which has many other files and directories.
> A better default is to append a number to the end of the project name. For example:
> {code}
> $ new-project --named example --topLevelPackage org.example
> ***ERROR*** [/home/dallen/example] already contains a project; please use a different folder.
> Where would you like to create the project? [Press ENTER to use an alternative directory: example2]
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 5 months