Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Rationale

Groovy has become a pretty complete package with more than just the language itself, but also with several useful APIs and wrappers to simplify the life of developers, dealing with Ant, Swing, XML, JDBC, command-line, and more. The main groovy-all JAR has reached over 4MB, preventing, for example, usage in an applet, as the time to load the JAR is too long. Recognizing that nobody needs everything in Groovy, it is time we rework the Groovy source organization, deliverables, project build, and more. However, this is a "big bang" kind of change that needs a good level of discipline to get through properly, as several key steps will have to be made.

Key steps

Having a modular system means that:

...

  • providing a new build which will support multiple modules in the future
  • migrating to a DVCS system to ease the migration
  • progressively migrate one module at a time, to avoid any breakage

Build System

The major options for modular build systems are:

...

  • IDEs: IntelliJ IDEA supports Gradle out of the box, for instance
  • CI: continuous integration servers should be able to build a Gradle-poweed build of Groovy

Source reorganization and repository

Move to a DVCS system: Git

To help with external contributions, and also to ease the work of source code reorganization, it'll be interesting to move to a different source code repository, moving from Subversion to a distributed source control system. Git is the choice made for DVCS at Codehaus, so we'll migrate to Git as part of the process.

...

  • IDEs: IntelliJ IDEA offers a great support of Git, the command-line is also usable, of course. Eclipse has some support for Git.
  • FishEye: FishEye is pretty handy for navigating in the source's history. We need to check that the issues of FishEye support for Git are fixed.
  • CI: the continuous integration servers should be able to checkout the source code from Git. Codehaus' Bamboo already has suypport for Git.

Base structure

The current SVN structure does not really follow standards. For example, groovy-core, a separately release component (at the moment, hope to change), is located at: http://svn.codehaus.org/groovy/trunk/groovy/groovy-core/
This should really be something like:
The modules listed above would be listed under: http://svn.codehaus.org/groovy/core/trunk/<module>
And they would be release together. Completely optional projects, like the native support, ide support, etc. should be located at: http://svn.codehaus.org/groovy/<project>/trunk

...

There should be a central index of core modules, non-core centrally managed modules and of any other modules people care to register with the index.

Other considerations

OSGi

Since we've made Groovy's deliverables be proper OSGi bundles, we need to persue our efforts, and make sure the core modules are also valid OSGi bundles, also marking dependencies between core modules, and external dependencies.

DefaultGroovyMethods registration

Some modules (swing, sql) also provide their own DefaultGroovyMethods. We'll need to figure out a way for these modules to register their own DGM methods, such as a META-INF/services technique.

Capabilities support

An old JIRA issue we may consider: http://jira.codehaus.org/browse/GROOVY-2422
The idea is to provide a "capabilities" mechanism to Groovy, to know which features are supported in the current Groovy version.
Inspired by this issue, we could at least provide some utility class (for instance in GroovySystem) where we could discover the existing modules available on the classpath.

Modules

Proposed structure

Here's a module structure we could follow. We shouldn't multiplicate the number of modules to a useless high number, but focus on core functionality, and ensure a pure core will be small enough to be easily embeddable and downloadable (for applets, mobile devices such as Android, etc.)

  • groovy-core
  • modules
    • test
    • jmx
    • swing
    • xml
    • sql
    • web
    • template
    • integration
      • bean-scripting-framework
      • javax.script
    • tools
      • groovydoc
      • shell
      • console
      • java2groovy

Issues to be aware of

Certain classes would naturally belong to certain modules, but are sometimes used in core, etc.

...

The groupings below are done per functionality, so even if some utility class like groovy.util.GroovyMBean is in groovy.util, I moved it to the jmx module. Ultimately, it'd certainly be nicer to move such classes into their proper packages, following a deprecation strategy.

More detailed regroupment of classes into each module

I've created a little Groovy script to list / group all the Java and Groovy classes per package. Afterwards, I've moved the packages and some individual classes to form modules according to their respective feature set.

...

Module: groovy-core

Package: groovy.beans
  • Bindable.java
  • BindableASTTransformation.java
  • Vetoable.java
  • VetoableASTTransformation.java
Package: groovy.grape
  • GrabAnnotationTransformation.java
  • Grape.java
  • GrapeEngine.java
  • GrapeIvy.groovy
Package: groovy.io
  • EncodingAwareBufferedWriter.java
  • GroovyPrintStream.java
  • GroovyPrintWriter.java
  • PlatformLineWriter.java
Package: groovy.lang
  • AdaptingMetaClass.java
  • BenchmarkInterceptor.java
  • Binding.java
  • Buildable.java
  • Category.java
  • Closure.java
  • ClosureException.java
  • ClosureInvokingMethod.java
  • Delegate.java
  • DelegatingMetaClass.java
  • DeprecationException.java
  • EmptyRange.java
  • ExpandoMetaClass.java
  • ExpandoMetaClassCreationHandle.java
  • Grab.java
  • GrabConfig.java
  • GrabExclude.java
  • GrabResolver.java
  • Grapes.java
  • GroovyClassLoader.java
  • GroovyCodeSource.java
  • GroovyInterceptable.java
  • GroovyLogTestCase.groovy
  • GroovyObject.java
  • GroovyObjectSupport.java
  • GroovyResourceLoader.java
  • GroovyRuntimeException.java
  • GroovyShell.java
  • GroovySystem.java
  • GString.java
  • IllegalPropertyAccessException.java
  • Immutable.java
  • IncorrectClosureArgumentsException.java
  • Interceptor.java
  • IntRange.java
  • Lazy.java
  • MetaArrayLengthProperty.java
  • MetaBeanProperty.java
  • MetaClass.java
  • MetaClassImpl.java
  • MetaClassRegistry.java
  • MetaClassRegistryChangeEvent.java
  • MetaClassRegistryChangeEventListener.java
  • MetaExpandoProperty.java
  • MetaMethod.java
  • MetaObjectProtocol.java
  • MetaProperty.java
  • MissingClassException.java
  • MissingFieldException.java
  • MissingMethodException.java
  • MissingPropertyException.java
  • Mixin.java
  • MutableMetaClass.java
  • Newify.java
  • NonEmptySequence.java
  • ObjectRange.java
  • PackageScope.java
  • ParameterArray.java
  • PropertyAccessInterceptor.java
  • PropertyValue.java
  • ProxyMetaClass.java
  • Range.java
  • ReadOnlyPropertyException.java
  • Reference.java
  • Script.java
  • Sequence.java
  • Singleton.java
  • SpreadListEvaluatingException.java
  • SpreadMap.java
  • SpreadMapEvaluatingException.java
  • StringWriterIOException.java
  • TracingInterceptor.java
  • Tuple.java
  • Writable.java
Package: groovy.security
  • GroovyCodeSourcePermission.java
Package: groovy.time
  • BaseDuration.java
  • DatumDependentDuration.java
  • Duration.java
  • TimeCategory.java
  • TimeDatumDependentDuration.java
  • TimeDuration.java
Package: org.codehaus.groovy.ant
  • AntProjectPropertiesDelegate.java
  • CompileTaskSupport.java
  • FileIterator.java
  • FileScanner.java
  • GenerateStubsTask.java
  • Groovy.java
  • Groovyc.java
  • GroovycTask.java
  • Groovydoc.java
  • LoggingHelper.java
  • RootLoaderRef.java
  • UberCompileTask.java
  • VerifyClass.java
Package: org.codehaus.groovy.antlr
  • AntlrASTProcessor.java
  • AntlrASTProcessSnippets.java
  • AntlrParserPlugin.java
  • AntlrParserPluginFactory.java
  • ASTParserException.java
  • ASTRuntimeException.java
  • EnumHelper.java
  • GroovySourceAST.java
  • GroovySourceToken.java
Package: org.codehaus.groovy.antlr.parser
  • GroovyLexer.java
  • GroovyRecognizer.java
  • GroovyTokenTypes.java
  • SourceBuffer.java
  • SourceInfo.java
Package: org.codehaus.groovy.antlr.treewalker
  • CompositeVisitor.java
  • FlatNodeListTraversal.java
  • MindMapPrinter.java
  • NodeAsHTMLPrinter.java
  • NodeCollector.java
  • NodePrinter.java
  • PreOrderTraversal.java
  • SourceCodeTraversal.java
  • SourcePrinter.java
  • TraversalHelper.java
  • Visitor.java
  • VisitorAdapter.java
  • UnicodeEscapingReader.java
Package: org.codehaus.groovy.ast
  • AnnotatedNode.java
  • AnnotationNode.java
  • ASTNode.java
Package: org.codehaus.groovy.ast.builder
  • AstBuilder.groovy
  • AstBuilderTransformation.groovy
  • AstSpecificationCompiler.groovy
  • AstStringCompiler.groovy
  • ClassCodeExpressionTransformer.java
  • ClassCodeVisitorSupport.java
  • ClassHelper.java
  • ClassNode.java
  • CodeVisitorSupport.java
  • CompileUnit.java
  • ConstructorNode.java
  • DynamicVariable.java
Package: org.codehaus.groovy.ast.expr
  • AnnotationConstantExpression.java
  • ArgumentListExpression.java
  • ArrayExpression.java
  • AttributeExpression.java
  • BinaryExpression.java
  • BitwiseNegationExpression.java
  • BooleanExpression.java
  • CastExpression.java
  • ClassExpression.java
  • ClosureExpression.java
  • ClosureListExpression.java
  • ConstantExpression.java
  • ConstructorCallExpression.java
  • DeclarationExpression.java
  • ElvisOperatorExpression.java
  • EmptyExpression.java
  • Expression.java
  • ExpressionTransformer.java
  • FieldExpression.java
  • GStringExpression.java
  • ListExpression.java
  • MapEntryExpression.java
  • MapExpression.java
  • MethodCallExpression.java
  • MethodPointerExpression.java
  • NamedArgumentListExpression.java
  • NotExpression.java
  • PostfixExpression.java
  • PrefixExpression.java
  • PropertyExpression.java
  • RangeExpression.java
  • RegexExpression.java
  • SpreadExpression.java
  • SpreadMapExpression.java
  • StaticMethodCallExpression.java
  • TernaryExpression.java
  • TupleExpression.java
  • UnaryMinusExpression.java
  • UnaryPlusExpression.java
  • VariableExpression.java
  • FieldNode.java
  • GenericsType.java
  • GroovyClassVisitor.java
  • GroovyCodeVisitor.java
  • ImportNode.java
  • InnerClassNode.java
  • InterfaceHelperClassNode.java
  • MethodNode.java
  • MixinASTTransformation.java
  • MixinNode.java
  • ModuleNode.java
  • PackageNode.java
  • Parameter.java
  • PropertyNode.java
Package: org.codehaus.groovy.ast.stmt
  • AssertStatement.java
  • BlockStatement.java
  • BreakStatement.java
  • CaseStatement.java
  • CatchStatement.java
  • ContinueStatement.java
  • DoWhileStatement.java
  • EmptyStatement.java
  • ExpressionStatement.java
  • ForStatement.java
  • IfStatement.java
  • ReturnStatement.java
  • Statement.java
  • SwitchStatement.java
  • SynchronizedStatement.java
  • ThrowStatement.java
  • TryCatchStatement.java
  • WhileStatement.java
  • Variable.java
  • VariableScope.java
Package: org.codehaus.groovy.binding
  • AbstractFullBinding.java
  • AggregateBinding.java
  • BindingProxy.java
  • BindingUpdatable.java
  • BindPath.java
  • ClosureSourceBinding.java
  • ClosureTriggerBinding.java
  • EventTriggerBinding.java
  • FullBinding.java
  • MutualPropertyBinding.java
  • PropertyBinding.java
  • PropertyChangeProxyTargetBinding.java
  • PropertyPathFullBinding.java
  • SourceBinding.java
  • SwingTimerTriggerBinding.java
  • TargetBinding.java
  • TriggerBinding.java
Package: org.codehaus.groovy.classgen
  • AnnotationVisitor.java
  • AsmClassGenerator.java
  • BytecodeExpression.java
  • BytecodeHelper.java
  • BytecodeInstruction.java
  • BytecodeSequence.java
  • ClassCompletionVerifier.java
  • ClassGenerator.java
  • ClassGeneratorException.java
  • CompileStack.java
  • DummyClassGenerator.java
  • EnumVisitor.java
  • ExtendedVerifier.java
  • genArrayAccess.groovy
  • genArrays.groovy
  • genDgmMath.groovy
  • GeneratorContext.java
  • genMathModification.groovy
  • GroovyCompilerVersion.java
  • InnerClassVisitor.java
  • MethodCaller.java
  • MethodCallerMultiAdapter.java
  • ReturnAdder.java
  • RuntimeIncompleteClassException.java
  • Variable.java
  • VariableScopeVisitor.java
  • Verifier.java
  • VerifierCodeVisitor.java
Package: org.codehaus.groovy.control
  • CompilationFailedException.java
  • CompilationUnit.java
  • CompilePhase.java
  • CompilerConfiguration.java
  • ConfigurationException.java
  • ErrorCollector.java
  • GenericsVisitor.java
  • HasCleanup.java
Package: org.codehaus.groovy.control.io
  • AbstractReaderSource.java
  • FileReaderSource.java
  • InputStreamReaderSource.java
  • NullWriter.java
  • ReaderSource.java
  • StringReaderSource.java
  • URLReaderSource.java
  • Janitor.java
  • LabelVerifier.java
Package: org.codehaus.groovy.control.messages
  • ExceptionMessage.java
  • LocatedMessage.java
  • Message.java
  • SimpleMessage.java
  • SyntaxErrorMessage.java
  • WarningMessage.java
  • MultipleCompilationErrorsException.java
  • OptimizerVisitor.java
  • ParserPlugin.java
  • ParserPluginFactory.java
  • Phases.java
  • ProcessingUnit.java
  • ResolveVisitor.java
  • SourceUnit.java
  • StaticImportVisitor.java
  • GroovyBugError.java
Package: org.codehaus.groovy.tools.ast
  • TranformTestHelper.groovy
  • Compiler.java
  • DgmConverter.java
  • ErrorReporter.java
  • FileSystemCompiler.java
  • GrapeMain.groovy
  • GroovyClass.java
Package: org.codehaus.groovy.tools.gse
  • DependencyTracker.java
  • StringSetMap.java
Package: org.codehaus.groovy.tools.javac
  • JavaAwareCompilationUnit.java
  • JavaAwareResolveVisitor.java
  • JavacCompilerFactory.java
  • JavacJavaCompiler.java
  • JavaCompiler.java
  • JavaCompilerFactory.java
  • JavaStubCompilationUnit.java
  • JavaStubGenerator.java
  • LoaderConfiguration.java
  • RootLoader.java
Package: org.codehaus.groovy.transform
  • ASTTransformation.java
  • ASTTransformationCollectorCodeVisitor.java
  • ASTTransformationVisitor.java
  • CategoryASTTransformation.java
  • DelegateASTTransformation.java
  • GroovyASTTransformation.java
  • GroovyASTTransformationClass.java
  • ImmutableASTTransformation.java
  • LazyASTTransformation.java
  • NewifyASTTransformation.java
  • PackageScopeASTTransformation.java
Package: org.codehaus.groovy.transform.powerassert
  • AssertionRenderer.java
  • AssertionRewriter.java
  • AssertionTransformation.java
  • AssertionVerifier.java
  • PowerAssertionError.java
  • SourceText.java
  • SourceTextNotAvailableException.java
  • StatementReplacingVisitorSupport.java
  • TruthExpressionRewriter.java
  • Value.java
  • ValueRecorder.java
  • SingletonASTTransformation.java
Package: org.codehaus.groovy.util
  • AbstractConcurrentDoubleKeyMap.java
  • AbstractConcurrentMap.java
  • AbstractConcurrentMapBase.java
  • ComplexKeyHashMap.java
  • DoubleKeyHashMap.java
  • FastArray.java
  • Finalizable.java
  • HashCodeHelper.java
  • LazyReference.java
  • LockableObject.java
  • ManagedConcurrentMap.java
  • ManagedDoubleKeyMap.java
  • ManagedLinkedList.java
  • ManagedReference.java
  • Reference.java
  • ReferenceBundle.java
  • ReferenceManager.java
  • ReferenceType.java
  • ReleaseInfo.java
  • SingleKeyHashMap.java
  • TripleKeyHashMap.java
Package: org.codehaus.groovy.runtime.typehandling
  • BigDecimalMath.java
  • BigIntegerMath.java
  • ClassDistance.java
  • DefaultTypeTransformation.java
  • FloatingPointMath.java
  • GroovyCastException.java
  • IntegerMath.java
  • LongMath.java
  • NumberMath.java
  • NumberMathModificationInfo.java
Package: org.codehaus.groovy.runtime.wrappers
  • BooleanWrapper.java
  • ByteWrapper.java
  • CharWrapper.java
  • DoubleWrapper.java
  • FloatWrapper.java
  • GroovyObjectWrapper.java
  • IntWrapper.java
  • LongWrapper.java
  • PojoWrapper.java
  • ShortWrapper.java
  • Wrapper.java
  • WritableFile.java
  • XmlGroovyMethods.java
Package: org.codehaus.groovy.syntax
  • ASTHelper.java
  • CSTNode.java
  • Numbers.java
  • ParserException.java
  • ReadException.java
  • Reduction.java
  • RuntimeParserException.java
  • SyntaxException.java
  • Token.java
  • TokenException.java
  • TokenMismatchException.java
  • Types.java
Package: org.codehaus.groovy.reflection
  • CachedClass.java
  • CachedConstructor.java
  • CachedField.java
  • CachedMethod.java
  • ClassInfo.java
  • ClassLoaderForClassArtifacts.java
  • GeneratedMetaMethod.java
  • handlegen.groovy
  • MethodHandle.java
  • MethodHandleFactory.java
  • MixinInMetaClass.java
  • ParameterTypes.java
  • ReflectionCache.java
  • ReflectionUtils.java
Package: org.codehaus.groovy.reflection.stdclasses
  • ArrayCachedClass.java
  • BigDecimalCachedClass.java
  • BigIntegerCachedClass.java
  • BooleanCachedClass.java
  • ByteCachedClass.java
  • CachedClosureClass.java
  • CharacterCachedClass.java
  • DoubleCachedClass.java
  • FloatCachedClass.java
  • IntegerCachedClass.java
  • LongCachedClass.java
  • NumberCachedClass.java
  • ObjectCachedClass.java
  • ShortCachedClass.java
  • StringCachedClass.java
  • SunClassLoader.java
Package: org.codehaus.groovy.runtime
  • ArrayUtil.java
Package: org.codehaus.groovy.runtime.callsite
  • AbstractCallSite.java
  • CallSite.java
  • CallSiteArray.java
  • CallSiteAwareMetaMethod.java
  • CallSiteClassLoader.java
  • CallSiteGenerator.java
  • ClassMetaClassGetPropertySite.java
  • ConstructorMetaClassSite.java
  • ConstructorMetaMethodSite.java
  • ConstructorSite.java
  • DummyCallSite.java
  • GetEffectivePogoFieldSite.java
  • GetEffectivePogoPropertySite.java
  • GetEffectivePojoFieldSite.java
  • GetEffectivePojoPropertySite.java
  • GroovySunClassLoader.java
  • MetaClassConstructorSite.java
  • MetaClassSite.java
  • MetaMethodSite.java
  • NullCallSite.java
  • PerInstancePojoMetaClassSite.java
  • PogoGetPropertySite.java
  • PogoInterceptableSite.java
  • PogoMetaClassGetPropertySite.java
  • PogoMetaClassSite.java
  • PogoMetaMethodSite.java
  • PojoMetaClassGetPropertySite.java
  • PojoMetaClassSite.java
  • PojoMetaMethodSite.java
  • StaticMetaClassSite.java
  • StaticMetaMethodSite.java
  • ClassExtender.java
  • ConversionHandler.java
  • ConvertedClosure.java
  • ConvertedMap.java
  • CurriedClosure.java
  • DefaultCachedMethodKey.java
  • DefaultGroovyMethods.java
  • DefaultGroovyMethodsSupport.java
  • DefaultGroovyStaticMethods.java
  • DefaultMethodKey.java
Package: org.codehaus.groovy.runtime.dgmimpl.arrays
  • ArrayGetAtMetaMethod.java
  • ArrayMetaMethod.java
  • ArrayPutAtMetaMethod.java
  • BooleanArrayGetAtMetaMethod.java
  • BooleanArrayPutAtMetaMethod.java
  • ByteArrayGetAtMetaMethod.java
  • ByteArrayPutAtMetaMethod.java
  • CharacterArrayGetAtMetaMethod.java
  • CharacterArrayPutAtMetaMethod.java
  • DoubleArrayGetAtMetaMethod.java
  • DoubleArrayPutAtMetaMethod.java
  • FloatArrayGetAtMetaMethod.java
  • FloatArrayPutAtMetaMethod.java
  • IntegerArrayGetAtMetaMethod.java
  • IntegerArrayPutAtMetaMethod.java
  • LongArrayGetAtMetaMethod.java
  • LongArrayPutAtMetaMethod.java
  • ObjectArrayGetAtMetaMethod.java
  • ObjectArrayPutAtMetaMethod.java
  • ShortArrayGetAtMetaMethod.java
  • ShortArrayPutAtMetaMethod.java
  • NumberNumberDiv.java
  • NumberNumberMetaMethod.java
  • NumberNumberMinus.java
  • NumberNumberMultiply.java
  • NumberNumberPlus.java
  • FlushingStreamWriter.java
  • GeneratedClosure.java
  • GroovyCategorySupport.java
  • GStringImpl.java
  • HandleMetaClass.java
  • InvokerHelper.java
  • InvokerInvocationException.java
  • IteratorClosureAdapter.java
Package: org.codehaus.groovy.runtime.metaclass
  • ClosureMetaClass.java
  • ClosureMetaMethod.java
  • ClosureStaticMetaMethod.java
  • ConcurrentReaderHashMap.java
  • MemoryAwareConcurrentReadMap.java
  • MetaClassRegistryImpl.java
  • MetaMethodIndex.java
  • MethodHelper.java
  • MethodSelectionException.java
  • MissingMethodExceptionNoStack.java
  • MissingMethodExecutionFailed.java
  • MissingPropertyExceptionNoStack.java
  • MixedInMetaClass.java
  • MixinInstanceMetaMethod.java
  • MixinInstanceMetaProperty.java
  • NewInstanceMetaMethod.java
  • NewMetaMethod.java
  • NewStaticMetaMethod.java
  • OwnedMetaClass.java
  • ReflectionMetaMethod.java
  • ReflectorLoader.java
  • TemporaryMethodKey.java
  • ThreadManagedMetaBeanProperty.java
  • TransformMetaMethod.java
  • MetaClassHelper.java
  • MethodClosure.java
  • MethodKey.java
  • MethodRankHelper.java
  • NullObject.java
  • ReflectionMethodInvoker.java
  • Reflector.java
  • RegexSupport.java
  • ReverseListIterator.java
  • ScriptBytecodeAdapter.java
  • ScriptReference.java
  • ScriptTestAdapter.java
  • StackTraceUtils.java
  • StringBufferWriter.java
  • TimeCategory.java
Package: groovy.util
  • AbstractFactory.java
  • AllTestSuite.java
  • AntBuilder.java
  • BuilderSupport.java
  • CharsetToolkit.java
  • CliBuilder.groovy
  • ClosureComparator.java
  • ConfigObject.groovy
  • ConfigSlurper.groovy
  • Eval.java
  • Expando.java
  • Factory.java
  • FactoryBuilderSupport.java
  • FileNameByRegexFinder.groovy
  • FileNameFinder.groovy
  • GroovyCollections.java
  • GroovyLog.java
  • GroovyScriptEngine.java
  • GroovyShellTestCase.groovy
  • GroovyTestCase.java
  • GroovyTestSuite.java
  • IFileNameFinder.java
  • IndentPrinter.java
  • MapEntry.java
  • Node.java
  • NodeBuilder.java
  • NodeList.java
  • NodePrinter.java
  • ObjectGraphBuilder.java
  • ObservableList.java
  • ObservableMap.java
  • OrderBy.java
  • PermutationGenerator.java
  • Proxy.java
  • ProxyGenerator.java
  • ResourceConnector.java
  • ResourceException.java
  • ScriptException.java
Package: org.codehaus.groovy.vmplugin.v4
  • Java4.java
Package: org.codehaus.groovy.vmplugin.v5
  • Java5.java
  • JUnit4Utils.java
  • PluginDefaultGroovyMethods.java
  • TestNgUtils.java
  • VMPlugin.java
  • VMPluginFactory.java

...

Module: test

Package: groovy.mock
Package: groovy.mock.interceptor
  • Demand.groovy
  • LooseExpectation.groovy
  • MockFor.groovy
  • MockInterceptor.groovy
  • MockProxyMetaClass.java
  • StrictExpectation.groovy
  • StubFor.groovy

...

Module: jmx

Package: groovy.jmx
Package: groovy.jmx.builder
  • JmxAttributeInfoManager.groovy
  • JmxBeanExportFactory.groovy
  • JmxBeanFactory.groovy
  • JmxBeanInfoManager.groovy
  • JmxBeansFactory.groovy
  • JmxBuilder.groovy
  • JmxBuilderException.java
  • JmxBuilderModelMBean.java
  • JmxBuilderTools.groovy
  • JmxClientConnectorFactory.groovy
  • JmxEmitterFactory.groovy
  • JmxEventEmitter.java
  • JmxEventEmitterMBean.java
  • JmxEventListener.java
  • JmxListenerFactory.groovy
  • JmxMetaMapBuilder.groovy
  • JmxOperationInfoManager.groovy
  • JmxServerConnectorFactory.groovy
  • JmxTimerFactory.groovy
Package: groovy.util
  • GroovyMBean.java

...

Module: swing

Package: groovy.model
  • ClosureModel.java
  • DefaultTableColumn.java
  • DefaultTableModel.java
  • FormModel.java
  • NestedValueModel.java
  • PropertyModel.java
  • ValueHolder.java
  • ValueModel.java
Package: groovy.swing
Package: groovy.swing.binding
  • AbstractButtonProperties.java
  • AbstractSyntheticBinding.java
  • AbstractSyntheticMetaMethods.groovy
  • JComboBoxMetaMethods.groovy
  • JComboBoxProperties.java
  • JComponentProperties.java
  • JScrollBarProperties.java
  • JSliderProperties.java
  • JSpinnerProperties.java
  • JTableMetaMethods.groovy
  • JTableProperties.java
  • JTextComponentProperties.java
Package: groovy.swing.factory
  • ActionFactory.groovy
  • BeanFactory.groovy
  • BevelBorderFactory.groovy
  • BindFactory.groovy
  • BindGroupFactory.groovy
  • BindProxyFactory.groovy
  • BoxFactory.groovy
  • BoxLayoutFactory.groovy
  • ButtonGroupFactory.groovy
  • CollectionFactory.groovy
  • ComboBoxFactory.groovy
  • ComponentFactory.groovy
  • CompoundBorderFactory.groovy
  • DialogFactory.groovy
  • EmptyBorderFactory.groovy
  • EtchedBorderFactory.groovy
  • FormattedTextFactory.groovy
  • FrameFactory.groovy
  • GridBagFactory.groovy
  • ImageIconFactory.groovy
  • InternalFrameFactory.groovy
  • LayoutFactory.groovy
  • LineBorderFactory.groovy
  • ListFactory.groovy
  • MapFactory.groovy
  • MatteBorderFactory.groovy
  • RendererFactory.groovy
  • RichActionWidgetFactory.groovy
  • RootPaneContainerFactory.groovy
  • ScrollPaneFactory.groovy
  • SeparatorFactory.groovy
  • SplitPaneFactory.groovy
  • SwingBorderFactory.groovy
  • TabbedPaneFactory.groovy
  • TableFactory.groovy
  • TableLayoutFactory.groovy
  • TableModelFactory.groovy
  • TextArgWidgetFactory.groovy
  • TitledBorderFactory.groovy
  • WidgetFactory.groovy
  • WindowFactory.groovy
Package: groovy.swing.impl
  • ClosureRenderer.java
  • ComponentFacade.java
  • ContainerFacade.java
  • DefaultAction.java
  • Startable.java
  • TableLayout.java
  • TableLayoutCell.java
  • TableLayoutRow.java
  • LookAndFeelHelper.groovy
  • SwingBuilder.groovy
Package: org.codehaus.groovy.runtime.metaclass
  • SwingGroovyMethods.java

...

Module: xml

Package: groovy.util.slurpersupport
  • Attribute.java
  • Attributes.java
  • FilteredAttributes.java
  • FilteredNodeChildren.java
  • GPathResult.java
  • NoChildren.java
  • Node.java
  • NodeChild.java
  • NodeChildren.java
  • NodeIterator.java
  • ReplacementNode.java
  • XmlNodePrinter.java
  • XmlParser.java
  • XmlSlurper.java
Package: groovy.xml
Package: groovy.xml.dom
  • DOMCategory.java
  • DOMUtil.java
  • DOMBuilder.java
  • Entity.groovy
  • FactorySupport.java
  • MarkupBuilder.java
  • MarkupBuilderHelper.java
  • Namespace.java
  • NamespaceBuilder.java
  • NamespaceBuilderSupport.java
  • QName.java
  • SAXBuilder.java
  • StaxBuilder.groovy
  • StreamingDOMBuilder.groovy
  • StreamingMarkupBuilder.groovy
Package: groovy.xml.streamingmarkupsupport
  • AbstractStreamingBuilder.groovy
  • BaseMarkupBuilder.java
  • Builder.java
  • StreamingMarkupWriter.java
  • StreamingSAXBuilder.groovy
  • XmlUtil.java
Package: org.codehaus.groovy.tools.xml
  • DomToGroovy.java

...

Module: sql

Package: groovy.sql
  • CallResultSet.java
  • DataSet.java
  • ExpandedVariable.java
  • GroovyResultSet.java
  • GroovyResultSetExtension.java
  • GroovyResultSetProxy.java
  • GroovyRowResult.java
  • InOutParameter.java
  • InParameter.java
  • OutParameter.java
  • ResultSetMetaDataWrapper.java
  • ResultSetOutParameter.java
  • Sql.java
  • SqlOrderByVisitor.java
  • SqlWhereVisitor.java
Package: org.codehaus.groovy.runtime.metaclass
  • SqlGroovyMethods.java

...

Module: web

Package: groovy.servlet
  • AbstractHttpServlet.java
  • GroovyServlet.java
  • ServletBinding.java
  • ServletCategory.java
  • TemplateServlet.java

...

Module: template-engine

Package: groovy.text
  • GStringTemplateEngine.java
  • SimpleTemplateEngine.java
  • Template.java
  • TemplateEngine.java
  • XmlTemplateEngine.java

...

Module: bean-scripting-framework

Package: org.codehaus.groovy.bsf
  • CachingGroovyEngine.java
  • GroovyEngine.java

...

Module: javax.script (jsr-223)

Package: org.codehaus.groovy.jsr223
  • GroovyCompiledScript.java
  • GroovyScriptEngineFactory.java
  • GroovyScriptEngineImpl.java

...

Module: groovydoc

Package: org.codehaus.groovy.tools.groovydoc
  • ClasspathResourceManager.java
  • ExternalGroovyClassDoc.java
  • FileOutputTool.java
  • FileSystemResourceManager.java
  • GroovyDocTemplateEngine.java
  • GroovyDocTool.java
  • GroovyDocWriter.java
  • GroovyRootDocBuilder.java
Package: org.codehaus.groovy.tools.groovydoc.gstringTemplates.topLevel
  • LinkArgument.java
  • MockOutputTool.java
  • OutputTool.java
  • ResourceManager.java
  • SimpleGroovyAnnotationRef.java
  • SimpleGroovyClassDoc.java
  • SimpleGroovyClassDocAssembler.java
  • SimpleGroovyConstructorDoc.java
  • SimpleGroovyDoc.java
  • SimpleGroovyExecutableMemberDoc.java
  • SimpleGroovyFieldDoc.java
  • SimpleGroovyMemberDoc.java
  • SimpleGroovyMethodDoc.java
  • SimpleGroovyPackageDoc.java
  • SimpleGroovyParameter.java
  • SimpleGroovyProgramElementDoc.java
  • SimpleGroovyRootDoc.java
  • SimpleGroovyTag.java
  • SimpleGroovyType.java
  • GroovyStarter.java
Package: org.codehaus.groovy.groovydoc
  • GroovyAnnotationRef.java
  • GroovyClassDoc.java
  • GroovyConstructorDoc.java
  • GroovyDoc.java
  • GroovyDocErrorReporter.java
  • GroovyExecutableMemberDoc.java
  • GroovyFieldDoc.java
  • GroovyMemberDoc.java
  • GroovyMethodDoc.java
  • GroovyPackageDoc.java
  • GroovyParameter.java
  • GroovyProgramElementDoc.java
  • GroovyRootDoc.java
  • GroovyTag.java
  • GroovyType.java
  • GroovyException.java
  • GroovyExceptionInterface.java

...

Module: shell

Package: org.codehaus.groovy.tools.shell
  • BufferManager.groovy
  • Command.groovy
  • CommandAlias.groovy
  • CommandRegistry.groovy
  • CommandSupport.groovy
  • ComplexCommandSupport.groovy
  • ExitNotification.groovy
  • Groovysh.groovy
  • InteractiveShellRunner.groovy
  • Interpreter.groovy
  • IO.java
  • Main.groovy
  • Parser.groovy
  • Shell.groovy
  • ShellRunner.groovy
Package: org.codehaus.groovy.tools.shell.commands
  • AliasCommand.groovy
  • ClearCommand.groovy
  • DisplayCommand.groovy
  • EditCommand.groovy
  • ExitCommand.groovy
  • HelpCommand.groovy
  • HistoryCommand.groovy
  • ImportCommand.groovy
  • InspectCommand.groovy
  • LoadCommand.groovy
  • PurgeCommand.groovy
  • RecordCommand.groovy
  • RegisterCommand.groovy
  • SaveCommand.groovy
  • SetCommand.groovy
  • ShadowCommand.groovy
  • ShowCommand.groovy
Package: org.codehaus.groovy.tools.shell.util
  • ClassNameCompletor.groovy
  • HelpFormatter.groovy
  • Logger.java
  • MessageSource.java
  • NoExitSecurityManager.java
  • Preferences.java
  • SimpleCompletor.java
  • XmlCommandRegistrar.groovy

...

Module: console

Package: groovy.inspect
  • Inspector.java
Package: groovy.inspect.swingui
  • AstBrowser.groovy
  • AstBrowserProperties.groovy
  • ObjectBrowser.groovy
  • ScriptToTreeNodeAdapter.groovy
  • TableMap.java
  • TableSorter.java
Package: groovy.ui
  • Console.groovy
  • ConsoleActions.groovy
  • ConsoleApplet.groovy
  • ConsoleSupport.java
  • ConsoleTextEditor.java
  • ConsoleView.groovy
  • GroovyMain.java
  • GroovySocketServer.java
  • HistoryRecord.groovy
Package: groovy.ui.icons
  • InteractiveShell.java
  • OutputTransforms.groovy
  • SystemOutputInterceptor.java
Package: groovy.ui.text
  • AutoIndentAction.groovy
  • FindReplaceUtility.java
  • GroovyFilter.java
  • StructuredSyntaxDocumentFilter.java
  • StructuredSyntaxHandler.java
  • StructuredSyntaxResources.java
  • TextEditor.java
  • TextUndoManager.java
Package: groovy.ui.view
  • BasicContentPane.groovy
  • BasicMenuBar.groovy
  • BasicStatusBar.groovy
  • BasicToolBar.groovy
  • Defaults.groovy
  • GTKDefaults.groovy
  • MacOSXDefaults.groovy
  • MacOSXMenuBar.groovy
  • WindowsDefaults.groovy

...

Module: java2groovy

Package: org.codehaus.groovy.antlr.java
  • Groovifier.java
  • Java2GroovyConverter.java
  • Java2GroovyMain.java
  • JavaLexer.java
  • JavaRecognizer.java
  • JavaTokenTypes.java
  • PreJava2GroovyConverter.java
  • LexerFrame.java
  • LineColumn.java
  • Main.java