Package gw.lang.gosuc

Class GosucProject

  • All Implemented Interfaces:
    IProject

    public class GosucProject
    extends java.lang.Object
    implements IProject
    Grammar for gosuc project file format:
     project-name {
       'sdk' {
         sdk-path-list
       }
       'modules' {
         module-list
       }
       'global-loaders' {
         global-loaders-list
       }
       root-dir : quoted-path
       app-name : quoted-name
     }
    
     global-loaders-list = quoted-class-name[, global-loaders-list] | null
    
     quoted-class-name = '"'java-class-name'"'
    
     module-list = module[ module-list] | null
    
     module =
       module-name {
         'sourcepath' {
           sourcepath-list
         }
         'classpath' {
           classpath-lise
         }
         'outpath' {
           output-path-list
         }
         'deps' {
           deps-list
         }
       }
    
     sourcepath-list -> quoted-path[, sourcepath-list] | null
    
     classpath-list -> path[, classpath-list] | null
    
     quoted-path -> '"'path'"'
    
     deps-list -> dep[ dep-list] | null
    
     dep -> module-name[: export]
     
    • Field Detail

      • _name

        private java.lang.String _name
      • _modules

        private java.util.List<GosucModule> _modules
      • _globalLoaders

        private java.util.List<java.lang.String> _globalLoaders
    • Constructor Detail

      • GosucProject

        public GosucProject​(java.lang.String name,
                            GosucSdk sdk,
                            java.util.List<GosucModule> modules,
                            java.util.List<java.lang.String> globalLoaders)
      • GosucProject

        public GosucProject()
    • Method Detail

      • makeLegalName

        private java.lang.String makeLegalName​(java.lang.CharSequence name)
      • startDependencies

        public void startDependencies()
        Subclasse override to initialize/start dependencies
      • assignGlobalLoadersFromProvider

        private void assignGlobalLoadersFromProvider()
      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface IProject
      • getModules

        public java.util.List<GosucModule> getModules()
      • getGlobalLoaders

        public java.util.List<java.lang.String> getGlobalLoaders()
      • write

        public java.lang.String write()
      • writeCustom

        protected java.lang.String writeCustom()
      • writeGlobalLoaders

        private java.lang.String writeGlobalLoaders()
      • writeModules

        private java.lang.String writeModules()
      • parseGlobalLoaderList

        private static java.util.List<java.lang.String> parseGlobalLoaderList​(GosucProjectParser parser)
      • isDisposed

        public boolean isDisposed()
        Specified by:
        isDisposed in interface IProject
      • isHeadless

        public boolean isHeadless()
        Specified by:
        isHeadless in interface IProject
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • getAllDefinedTypes

        public java.util.Collection<? extends java.lang.CharSequence> getAllDefinedTypes()
      • addTypesForFile

        private void addTypesForFile​(java.util.List<java.lang.String> types,
                                     java.io.File rootFile)