Does anyone have a working Maven configuration for CodeNarc for groovy
scripts static analysis?
Much appreciated if you share the same.

Else, I'll just have to forget about it.

On Wed, 8 Jul 2020, 12:58 LINUS FERNANDES, <linus.fernan...@gmail.com>
wrote:

> I tried adding the following dependencies to the plugin :
>
> <dependency>               <groupId>org.codehaus.        groovy</groupId>
>                         <artifactId>groovy</          artifactId>
>                 <version>3.0.4</version>
>     </dependency>
> <dependency>                          <groupId>org.codehaus.groovy</
>     groupId>                            <artifactId>groovy-all</
>     artifactId>                            <version>3.0.4</version>
>   </dependency>
>
> The first doesn't resolve it and the second fails because :
>
> plugin org.codehaus.mojo:codenarc-maven-plugin:0.22-1 or one of its
> dependencies could not be resolved: Could not find artifact
> org.testng:testng:jar:7.2.0 in central (
> https://repo.maven.apache.org/maven2)
>
> On Wed, 8 Jul 2020, 12:43 LINUS FERNANDES, <linus.fernan...@gmail.com>
> wrote:
>
>> I'm using Jdk 11.
>>
>> On Wed, 8 Jul 2020, 07:11 LINUS FERNANDES, <linus.fernan...@gmail.com>
>> wrote:
>>
>>> I get the following error for code narc version 0.16 and 0.17 as set in
>>> the configuration.
>>>
>>>
>>>
>>>
>>> ERROR: Unable to make
>>> jdk.internal.loader.ClassLoaders$AppClassLoader(jdk.internal.loader.ClassLoaders$PlatformClassLoader,jdk.internal.loader.URLClassPath)
>>> accessible: module java.base does not "opens jdk.internal.loader" to
>>> unnamed module @7085bdee
>>>      [java] java.lang.reflect.InaccessibleObjectException: Unable to
>>> make
>>> jdk.internal.loader.ClassLoaders$AppClassLoader(jdk.internal.loader.ClassLoaders$PlatformClassLoader,jdk.internal.loader.URLClassPath)
>>> accessible: module java.base does not "opens jdk.internal.loader" to
>>> unnamed module @7085bdee           [java]     at
>>> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340)
>>>                        [java]     at
>>> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280)
>>>                        [java]     at
>>> java.base/java.lang.reflect.Constructor.checkCanSetAccessible(Constructor.java:189)
>>>                                  [java]     at
>>> java.base/java.lang.reflect.Constructor.setAccessible(Constructor.java:182)
>>>                                          [java]     at
>>> org.codehaus.groovy.reflection.CachedConstructor$1.run(CachedConstructor.java:41)
>>>                                    [java]     at
>>> java.base/java.security.AccessController.doPrivileged(Native Method)
>>> [java]     at
>>> org.codehaus.groovy.reflection.CachedConstructor.<init>(CachedConstructor.java:39)
>>>                                   [java]     at
>>> org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:73)
>>>                                          [java]     at
>>> org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:63)
>>>                                          [java]     at
>>> org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:46)
>>>                                            [java]     at
>>> org.codehaus.groovy.util.LazyReference.get(LazyReference.java:33)
>>>  [java]     at
>>> org.codehaus.groovy.reflection.CachedClass.getConstructors(CachedClass.java:257)
>>>                                     [java]     at
>>> groovy.lang.MetaClassImpl.<init>(MetaClassImpl.java:192)
>>> [java]     at groovy.lang.MetaClassImpl.<init>(MetaClassImpl.java:196)
>>>             [java]     at
>>> groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createNormalMetaClass(MetaClassRegistry.java:149)
>>>              [java]     at
>>> groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createWithCustomLookup(MetaClassRegistry.java:139)
>>>             [java]     at
>>> groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:122)
>>>                             [java]     at
>>> org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:165)
>>>                                   [java]     at
>>> org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:195)
>>>                                            [java]     at
>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:214)
>>>             [java]     at
>>> org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:747)
>>>                                       [java]     at
>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.createPojoSite(CallSiteArray.java:107)
>>>                            [java]     at
>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:148)
>>>                            [java]     at
>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
>>>                                [java]     at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
>>>                                [java]     at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
>>>                                [java]     at
>>> org.codenarc.util.io.ClassPathResource.getInputStream(ClassPathResource.groovy:59)
>>>                                   [java]     at
>>> org.codenarc.util.io.Resource$getInputStream.call(Unknown Source)
>>>  [java]     at
>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
>>>                                [java]     at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
>>>                                [java]     at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
>>>                                [java] CodeNarc - static analysis for
>>> Groovy',                                          [java] Usage: java
>>> org.codenarc.CodeNarc [OPTIONS]
>>> [java]     at
>>> org.codenarc.util.io.ClassPathResource.getInputStream(ClassPathResource.groovy:39)
>>>                                   [java]     at
>>> org.codenarc.util.io.ClassPathResource$getInputStream.call(Unknown Source)
>>>                                           [java]     at
>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
>>>                                [java]     at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
>>>                                [java]     at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
>>>                                [java]     at
>>> org.codenarc.ruleregistry.PropertiesFileRuleRegistry.loadRules(PropertiesFileRuleRegistry.groovy:52)
>>>                 [java]     at
>>> org.codenarc.ruleregistry.PropertiesFileRuleRegistry.this$2$loadRules(PropertiesFileRuleRegistry.groovy)
>>>             [java]   where OPTIONS are zero or more command-line options of
>>> the form "-NAME[=VALUE]":                                           [java]
>>>    -basedir=<DIR>                   [java]     at
>>> org.codenarc.ruleregistry.PropertiesFileRuleRegistry$this$2$loadRules.callCurrent(Unknown
>>> Source)                     [java]         The base (root) directory for
>>> the source code to be analyzed.            [java]     at
>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
>>>                         [java]         Defaults to the current directory
>>> (".").                                 [java]     at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
>>>
>>> Setting the CodeNarc version to 1.6 throws the  following exception
>>> where the plugin can't  find a groovy class:
>>>
>>> ERROR: java.lang.NoClassDefFoundError:
>>> org/codehaus/groovy/runtime/BytecodeInterface8
>>>           [java] java.lang.NoClassDefFoundError:
>>> org/codehaus/groovy/runtime/BytecodeInterface8
>>>                  [java]     at
>>> org.codenarc.CodeNarc.execute(CodeNarc.groovy:158)
>>> [java]     at
>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
>>> Method)                                        [java]     at
>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>                     [java]     at
>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>             [java]     at
>>> java.base/java.lang.reflect.Method.invoke(Method.java:566)
>>> [java]     at
>>> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)
>>>                                 [java]     at
>>> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:63)
>>>                             [java]     at
>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
>>>                                [java]     at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
>>>                                [java]     at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
>>>                                [java]     at
>>> org.codenarc.CodeNarc.main(CodeNarc.groovy:147)
>>>  [java] Caused by: java.lang.ClassNotFoundException:
>>> org.codehaus.groovy.runtime.BytecodeInterface8
>>>      [java]     at
>>> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
>>>                              [java]     at
>>> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
>>>
>>> Additionally, the Github repo at
>>>
>>> https://github.com/gleclaire/codenarc-maven-plugin/
>>>
>>> has been archived by the owner.
>>>
>>>
>>>
>>>
>>>
>>> On Wed, 8 Jul 2020, 06:24 LINUS FERNANDES, <linus.fernan...@gmail.com>
>>> wrote:
>>>
>>>> That's the original error. I also had issues with the 0.22.x version.
>>>>
>>>> I still am not clear whether I'm referring to the right CodeNarc plugin
>>>> version.
>>>>
>>>>
>>>>
>>>> On Wed, 8 Jul 2020, 00:02 LINUS FERNANDES, <linus.fernan...@gmail.com>
>>>> wrote:
>>>>
>>>>> Ok. Thanks.
>>>>>
>>>>> My mistake, apparently.
>>>>>                  <plugin>
>>>>> <groupId>org.codenarc</           groupId>
>>>>> <artifactId>CodeNarc</            artifactId>
>>>>>  <version>1.6</version>        </plugin>
>>>>>
>>>>> I've also had issues with the above.
>>>>>
>>>>>  failed to get report for org.codenarc:CodeNarc: Failed to parse
>>>>> plugin descriptor for org.codenarc:CodeNarc:1.6
>>>>> (/root/.m2/repository/org/codenarc/CodeNarc/1.6/CodeNarc-1.6.jar): No
>>>>> plugin descriptor found at META-INF/maven/plugin.xml -> [Help 1]
>>>>>
>>>>> What's this about?
>>>>>
>>>>> Thanks,
>>>>> Linus.
>>>>>
>>>>>
>>>>> On Tue, 7 Jul 2020, 22:20 Thomas Broyer, <t.bro...@gmail.com> wrote:
>>>>>
>>>>>> This is a Grails plugin, not a Maven plugin.
>>>>>> http://grails.org/plugin/codenarc
>>>>>>
>>>>>> On Tue, Jul 7, 2020 at 5:42 PM LINUS FERNANDES <
>>>>>> linus.fernan...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>> > I'm trying to use the following maven plugin to run static code
>>>>>> analysis on
>>>>>> > groovy scripts.
>>>>>> >
>>>>>> >         <plugin>
>>>>>> >           <groupId>org.grails.plugins</groupId>
>>>>>> >           <artifactId>codenarc</artifactId>
>>>>>> >           <version>1.6</version>
>>>>>> >         </plugin>
>>>>>> >
>>>>>> > I added the plugin repositories as below since it's not hosted on
>>>>>> the
>>>>>> > superPom's repos.
>>>>>> >
>>>>>> >    <pluginRepositories>
>>>>>> >     <pluginRepository>
>>>>>> >       <id>grails-plugins</id>
>>>>>> >       <name>Grails Plugins Repository</name>
>>>>>> >       <url>https://repo.grails.org/grails/plugins</url>
>>>>>> >     </pluginRepository>
>>>>>> >   </pluginRepositories>
>>>>>> >
>>>>>> > However, I encounter an error downloading the dependencies since
>>>>>> maven
>>>>>> > expects a codenarc:jar file but a zip file is provided instead.
>>>>>> >
>>>>>> > How do I force Maven to download the zip file instead, preferably
>>>>>> > configuring it within the pom?
>>>>>> >
>>>>>> >
>>>>>> > Regards,
>>>>>> > Linus.
>>>>>> >
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Thomas Broyer
>>>>>> /tɔ.ma.bʁwa.je/ <http://xn--nna.ma.xn--bwa-xxb.je/> <
>>>>>> http://xn--nna.ma.xn--bwa-xxb.je/>
>>>>>>
>>>>>

Reply via email to