Versions Compared

Key

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

...

  1. Please, make sure to create a "Pull Request" from a branch and NOT from your "master". (You'll understand exactly why after reading #2)
  2. Be warned that any additional changes/commits you make to that branch (before the "Pull Request" is accepted/merged) will immediately be included in that existing "Pull Request". This means that, if you want to continue your local development, you must create that "Pull Request" from a semi-static branch (so that any additional commits you make on "master" in the meantime don't get included as part of the existing "Pull Request").
    • The reason why this occurs is that a "Pull Request" just points at a specific "branch" (the branch it was initialized from). It does NOT point at a specific set of commits. So, when the "Pull Request" is accepted/merged, you are pulling in the latest version of that "branch". For more information, closely read the GitHub help page on Pull Requests, specifically noting the following statement:

      Pull requests can be sent from any branch or commit but it's recommended that a topic branch be used so that follow-up commits can be pushed to update the pull request if necessary.

  3. Once your "Pull Request" is created, you can use the GitHub Pull Request tools to communicate with the Committer who is assigned to the Pull Request. If further changes are requested, you can make those changes on the branch where you initiated the Pull Request (and those changes will automatically become part of the Pull Request, as described above)

Common DSpace Git/GitHub Issues

Maven Error: "*/src/main/webapp" does not exist

If you have checked out DSpace 1.8.2 or previous via GitHub, the first time you build DSpace, Maven may error out with a message similar to:

Code Block
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project dspace-sword-client-xmlui-webapp: Execution default-war of goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war failed:  basedir /dspace-src/dspace-sword-client/dspace-sword-client-xmlui-webapp/src/main/webapp does not exist -> [Help 1]

This error is essentially an artifact of DSpace only supporting SVN in previous releases. Unfortunately, although these "/src/main/webapp/" empty directories existed in SVN, they are ignored by Git/GitHub. This is due to Git's inability to track empty directories.

So, if you run into any error while trying to recompile with mvn package that a specific "src/main/webapp" directory does not exist, then you will have to create that directory. The DSpace GitHub repository has since fixed this issue (on the latest "master" code and all future releases). But if it affects you, then these are the steps to fix this.

  1. First, create the missing "src/main/webapp" directory(ies). For example:
    Code Block
    
    mkdir -p dspace/modules/jspui/src/main/webapp  
    mkdir -p dspace/modules/lni/src/main/webapp  
    mkdir -p dspace/modules/oai/src/main/webapp  
    mkdir -p dspace/modules/solr/src/main/webapp  
    mkdir -p dspace/modules/sword/src/main/webapp  
    mkdir -p dspace/modules/swordv2/src/main/webapp  
    mkdir -p dspace/modules/xmlui/src/main/webapp
    
  2. In each directory, put a place-holder ".gitignore" file, so that Git tracks the directory. For example:
    Code Block
    
    touch dspace/modules/jspui/src/main/webapp/.gitignore
    touch dspace/modules/lni/src/main/webapp/.gitignore  
    touch dspace/modules/oai/src/main/webapp/.gitignore  
    touch dspace/modules/solr/src/main/webapp/.gitignore  
    touch dspace/modules/sword/src/main/webapp/.gitignore  
    touch dspace/modules/swordv2/src/main/webapp/.gitignore  
    touch dspace/modules/xmlui/src/main/webapp/.gitignore
    
  3. Then, rebuild DSpace!