Compare commits
10 commits
Author | SHA1 | Date | |
---|---|---|---|
|
f1fa050ea5 | ||
|
e82aa34967 | ||
|
65381e7638 | ||
|
21739a54d8 | ||
|
d1fb7d312e | ||
|
81f5e3cd8e | ||
|
75f0245817 | ||
|
021a24a100 | ||
|
390231e8dd | ||
|
b0ff574e95 |
632 changed files with 1437 additions and 88954 deletions
|
@ -1,16 +0,0 @@
|
|||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
end_of_line = lf
|
||||
indent_size = 2
|
||||
indent_style = spaces
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.java]
|
||||
indent_size = 4
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
23
.gitignore
vendored
23
.gitignore
vendored
|
@ -1,20 +1,3 @@
|
|||
.gradle
|
||||
.settings
|
||||
build
|
||||
|
||||
/apps
|
||||
/bin
|
||||
/backups
|
||||
/db
|
||||
/docs
|
||||
/extras
|
||||
/lib
|
||||
/log
|
||||
/static
|
||||
|
||||
/*.properties
|
||||
/launcher.jar
|
||||
/passwd
|
||||
/start.*
|
||||
|
||||
!/gradle.properties
|
||||
classes/*
|
||||
launcher.jar
|
||||
lib/helma*.jar
|
||||
|
|
37
LICENSE.md
37
LICENSE.md
|
@ -1,37 +0,0 @@
|
|||
# License
|
||||
|
||||
Copyright (c) 1999-2008 Helma Project. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
3. Products derived from this software may not be called "Helma"
|
||||
or "Hop", nor may "Helma" or "Hop" appear in their name, without
|
||||
prior written permission of the Helma Project Group. For written
|
||||
permission, please contact helma@helma.org.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE HELMA PROJECT OR ITS
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Helma includes third party software released under different specific
|
||||
license terms. See the licenses directory in the Helma distribution
|
||||
for a list of these licenses.
|
59
README.md
59
README.md
|
@ -1,59 +0,0 @@
|
|||
# How to Helma
|
||||
|
||||
## TL;DR
|
||||
|
||||
- Make sure you have Java 1.6 or higher installed
|
||||
- Invoke `./bin/helma`, resp. `./bin/helma.bat`, depending on your platform
|
||||
- Direct your web browser to <http://localhost:8080>
|
||||
|
||||
## Introduction
|
||||
|
||||
Helma is an open source web application framework for fast and efficient scripting and serving of your websites and Internet applications.
|
||||
|
||||
Helma is written in Java and employs JavaScript for its server-side scripting environment, removing the need for compilation cycles and reducing development costs while giving you instant access to leverage the whole wealth of Java libraries out there.
|
||||
|
||||
Helma pioneered the simple and codeless mapping of application objects to database tables, which has only recently come into vogue with other web frameworks. In addition, an embedded object-oriented database performs automatic data persistence of unmapped objects.
|
||||
|
||||
Helma has proven itself to be stable and fast, capable of serving high traffic sites with hundreds of thousands of dynamic pages per day. The Austrian Broadcasting Corporation, popular weblog hosting sites such as antville.org, twoday.net, and blogger.de, among many others, have successfully been deploying Helma for several years now.
|
||||
|
||||
Although Helma became a Grande Dame of server-side JavaScript already decades ago when she performed in cozy Finnish clubs, she appears somehow retired nowadays. Nevertheless, she is here to stay for those last ones out there still tinkering with this nostalgic and wonderful piece of software.
|
||||
|
||||
## System Requirements
|
||||
|
||||
You need a Java virtual machine 1.6 or higher to run Helma.
|
||||
|
||||
Please consult the documentation of your platform how to obtain and install Java.
|
||||
|
||||
You also can directly download a [Java runtime or development kit](https://www.oracle.com/java/technologies/javase-downloads.html#javasejdk) from Oracle.
|
||||
|
||||
Helma is built with [Gradle](https://gradle.org).
|
||||
|
||||
## Development
|
||||
|
||||
Clone this repository to your machine and start the build process with `./gradlew install`. The build script is going to ask you if you want to update the installation, enter `y`.
|
||||
|
||||
> ⚠️ Please be aware that this step is going to overwrite files in the installation directory – escpecially at a later time when there might be substantial changes. Should this happen by accident you find the previous installation in the `backups` directory.
|
||||
|
||||
After compilation start Helma by invoking `./bin/helma.bat` or `./bin/helma`, depending on whether you are on Windows or Linux / Unix / OS X, respectively. If the `java` command is not found, try setting the `JAVA_HOME` variable in the start script to the location of your Java installation.
|
||||
|
||||
You can adjust server-wide settings in the `server.properties` file. For example, you could set the `smtp` property to the name of the SMTP server that Helma should use to send e-mail. Applications can be started or stopped by editing the `apps.properties` file through the web interface using the management application that is part of Helma.
|
||||
|
||||
After startup you should be able to connect your browser to <http://localhost:8080> – port 8080 on the local machine, that is.
|
||||
|
||||
Helma comes with a version of [Jetty](http://eclipse.org/jetty/), a lightweight yet industrial strenth web server.
|
||||
|
||||
While Jetty works well for development and in fact deploying real web sites, you might want to run Helma with the web server you are already using. This is most easily done by proxying Helma. Please consult the documentation of your web server how to achieve this.
|
||||
|
||||
Finally, Helma can be plugged into Servlet containers using Servlet classes that communicate with Helma either directly or via Java RMI. Be warned that these options may be harder to set up and maintain though, since most of the recent development efforts have been geared towards a proxied setup.
|
||||
|
||||
## Documentation and Further Information
|
||||
|
||||
After installing and running Helma, you will be able to access introductions to the features of Helma and the various included development tools. Further information you will find on the helma.org website:
|
||||
|
||||
> 😿 Unfortunately, the Helma website disappeard in the meantime. However, with some archeological web digging and thanks to the great search engines and archive services out there it is still possible to find useful resources.
|
||||
|
||||
- [helma.org at Internet Archive](http://web.archive.org/web/20180122132315/http://helma.org)
|
||||
- [Documentation](http://web.archive.org/web/20100530234322/http://helma.org/documentation/)
|
||||
- [API Reference](https://helma.serverjs.org/reference/)
|
||||
- [Tutorial](http://web.archive.org/web/20100526182848/http://helma.org/Documentation/Object-Relational+Mapping+Tutorial/)
|
||||
- [DocBook](http://dev.orf.at/download/helma/documentation/documentation.pdf)
|
107
README.txt
Normal file
107
README.txt
Normal file
|
@ -0,0 +1,107 @@
|
|||
This is the README file for version 1.7.4 of the Helma Javascript
|
||||
Web Application Framework.
|
||||
|
||||
==============
|
||||
STARTING HELMA
|
||||
==============
|
||||
|
||||
With the default package installed, all you need to do to get
|
||||
started is:
|
||||
-> make sure that you have Java 1.8 or higher installed
|
||||
-> call start.sh, resp. start.bat depending on your platform
|
||||
-> direct your web browser to http://localhost:8080/manage/
|
||||
See below for more detailed information.
|
||||
|
||||
===========
|
||||
ABOUT HELMA
|
||||
===========
|
||||
|
||||
Helma is an open source web application framework for fast
|
||||
and efficient scripting and serving of your websites and
|
||||
Internet applications.
|
||||
|
||||
Helma is written in Java and employs Javascript for its server-side
|
||||
scripting environment, removing the need for compilation cycles and
|
||||
reducing development costs while giving you instant access to leverage
|
||||
the whole wealth of Java libraries out there.
|
||||
|
||||
Helma pioneered the simple and codeless mapping of application objects
|
||||
to database tables, which has only recently come into vogue with other
|
||||
web frameworks. In addition, an embedded object-oriented database
|
||||
performs automatic data persistence of unmapped objects.
|
||||
|
||||
Helma has proven itself to be stable and fast, capable of serving high
|
||||
traffic sites with hundreds of thousands of dynamic pages per day. The
|
||||
Austrian Broadcasting Corporation, popular weblog hosting sites such
|
||||
as antville.org, twoday.net, and blogger.de, among many others, have
|
||||
successfully been deploying Helma for several years now.
|
||||
|
||||
===================
|
||||
SYSTEM REQUIREMENTS
|
||||
===================
|
||||
|
||||
You need a Java virtual machine 1.8 or higher to run Helma.
|
||||
|
||||
For Windows, Linux and Solaris you can get a Java runtime or development
|
||||
kit from http://java.sun.com/j2se/downloads.html. If you are on Mac OS X,
|
||||
you already have a Java runtime that will work well with Helma.
|
||||
|
||||
For other operating systems, please consult the documentation about the
|
||||
availabilty of a Java 1.4 (or higher) runtime.
|
||||
|
||||
============================
|
||||
INSTALLING AND RUNNING HELMA
|
||||
============================
|
||||
|
||||
Simply unzip or untar the contents of the archive file into any place
|
||||
on your hard disk. Start Helma by invoking start.bat or start.sh from
|
||||
the command line, depending on whether you are on Windows or
|
||||
Linux/Unix/MacOSX. If the java command is not found, try setting the
|
||||
JAVA_HOME variable in the start script to the location of your Java
|
||||
installation.
|
||||
|
||||
You may also want to have a look at the start script for other settings.
|
||||
You can adjust server wide settings in the server.properties file. For
|
||||
example, you should set the smtp property to the name of the SMTP server
|
||||
that Helma should use to send Email. Applications can be started or
|
||||
stopped by editing the apps.properties file through the web interface
|
||||
using the Management application that is part of Helma.
|
||||
|
||||
If you manage to get it running you should be able to connect your
|
||||
browser to http://localhost:8080/ or http://127.0.0.1:8080/
|
||||
(port 8080 on the local machine, that is).
|
||||
|
||||
Helma comes with a version of Jetty, a lightweight yet industrial strenth
|
||||
web server developed by Mortbay Consulting. See https://www.eclipse.org/jetty/
|
||||
for more information. While Jetty works well for deploying real web sites,
|
||||
you may want to run Helma behind an existing web server. This is most
|
||||
easily done by using a HTTP-Proxy module like mod_proxy for Apache.
|
||||
|
||||
Finally, Helma can be plugged into Servlet containers using Servlet
|
||||
classes that communicate with Helma either directly or via Java RMI.
|
||||
(Be warned that these options may be harder to set up and maintain though,
|
||||
since most of the recent development efforts have been geared towards the
|
||||
HTTP-Proxy setup).
|
||||
|
||||
=====================================
|
||||
DOCUMENTATION AND FURTHER INFORMATION
|
||||
=====================================
|
||||
|
||||
You can find further information on the helma.org website:
|
||||
|
||||
http://helma.org/docs/guide/
|
||||
http://helma.org/docs/reference/
|
||||
http://helma.org/docs/tutorial/
|
||||
http://helma.org/docs/docbook/
|
||||
|
||||
========================
|
||||
MAILING LIST AND SUPPORT
|
||||
========================
|
||||
|
||||
Please join us on the Helma mailing lists where we will be happy to
|
||||
answer any further questions you may have!
|
||||
|
||||
https://groups.google.com/forum/#!forum/helma
|
||||
|
||||
|
||||
|
4
apps.properties
Normal file
4
apps.properties
Normal file
|
@ -0,0 +1,4 @@
|
|||
# List of apps to start.
|
||||
|
||||
test
|
||||
|
17
apps/manage/readme.txt
Normal file
17
apps/manage/readme.txt
Normal file
|
@ -0,0 +1,17 @@
|
|||
To get the manage-application to work you must:
|
||||
|
||||
- add it to the apps.properties file with the following line:
|
||||
manage
|
||||
|
||||
- use helma distribution 1.5 or later.
|
||||
|
||||
- add the following properties to server.properties:
|
||||
|
||||
allowAdmin = [comma-separated list of hosts or ip-addresses that
|
||||
are allowed to access this application. wildcards
|
||||
are only allowed in addresses, not in hostnames!]
|
||||
adminAccess = <MD5-encoded credentials>
|
||||
|
||||
Creating the credentials can be done after you've got the application
|
||||
up and running at this address: http://<your-server-name>/manage/makekey
|
||||
|
231
build.gradle
231
build.gradle
|
@ -1,231 +0,0 @@
|
|||
import org.apache.tools.ant.filters.FixCrLfFilter
|
||||
|
||||
def jettyLogLevel = '-Dorg.eclipse.jetty.LEVEL=WARN'
|
||||
|
||||
// Suppress menu bar and default icon being shown in macos dock (Radar #5754483)
|
||||
// See https://developer.apple.com/library/content/releasenotes/Java/JavaLeopardUpdate1RN/ResolvedIssues/ResolvedIssues.html
|
||||
def suppressMacosDockIcon = '-Dapple.awt.UIElement=true'
|
||||
|
||||
// This list is used to determine which files need processing of line endings
|
||||
def textFiles = ['**/*.hac', '**/.html', '**/*.js', '**/*.md', '**/*.properties', '**/*.skin', '**/*.txt', '**/*.xml']
|
||||
|
||||
allprojects {
|
||||
apply plugin: 'java'
|
||||
|
||||
compileJava {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_6
|
||||
targetCompatibility = JavaVersion.VERSION_1_6
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'application'
|
||||
|
||||
version = new Date().format("yyyyMMdd")
|
||||
|
||||
tasks.build.dependsOn javadoc, 'jsdoc'
|
||||
tasks.compileJava.dependsOn 'processSource'
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java {
|
||||
// Sources in `src` will be available here after processing
|
||||
srcDirs = ["$buildDir/src/main/java"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
}
|
||||
|
||||
configurations {
|
||||
// Wrapping implementation because it does not allow access to its files
|
||||
// (i.e. cannot be resolved)
|
||||
library.extendsFrom implementation
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'commons-codec:commons-codec:1.14'
|
||||
implementation 'commons-fileupload:commons-fileupload:1.4'
|
||||
implementation 'commons-logging:commons-logging:1.2'
|
||||
implementation 'commons-net:commons-net:3.6'
|
||||
implementation 'com.sun.activation:javax.activation:1.2.0'
|
||||
implementation 'javax.mail:javax.mail-api:1.6.2'
|
||||
implementation 'javax.servlet:javax.servlet-api:4.0.1'
|
||||
implementation 'org.ccil.cowan.tagsoup:tagsoup:1.2.1'
|
||||
implementation 'org.eclipse.jetty:jetty-servlet:9.4.27.v20200227'
|
||||
implementation 'org.eclipse.jetty:jetty-xml:9.4.27.v20200227'
|
||||
implementation 'org.mozilla:rhino:1.7.12'
|
||||
implementation 'xerces:xercesImpl:2.12.0'
|
||||
implementation 'xmlrpc:xmlrpc:2.0.1'
|
||||
}
|
||||
|
||||
startScripts {
|
||||
applicationName = 'helma'
|
||||
classpath = files('../launcher.jar')
|
||||
mainClassName = 'helma.main.launcher.Main'
|
||||
|
||||
defaultJvmOpts = [jettyLogLevel, suppressMacosDockIcon]
|
||||
|
||||
doLast {
|
||||
// Work-around to make the classpath above work (launcher.jar is located outside of `lib` dir)
|
||||
// See https://discuss.gradle.org/t/classpath-in-application-plugin-is-building-always-relative-to-app-home-lib-directory/2012
|
||||
def unixScriptFile = file getUnixScript()
|
||||
def windowsScriptFile = file getWindowsScript()
|
||||
unixScriptFile.text = unixScriptFile.text.replace('$APP_HOME/lib', '$APP_HOME')
|
||||
windowsScriptFile.text = windowsScriptFile.text.replace('%APP_HOME%\\lib', '%APP_HOME%')
|
||||
}
|
||||
}
|
||||
|
||||
distributions {
|
||||
main {
|
||||
contents {
|
||||
from project(':launcher').jar
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
applicationDistribution.from(projectDir) {
|
||||
include 'modules/**'
|
||||
include 'LICENSE.md'
|
||||
include 'README.md'
|
||||
include 'start.*'
|
||||
}
|
||||
|
||||
applicationDistribution.from(javadoc.destinationDir) {
|
||||
include '**'
|
||||
into 'docs/javadoc'
|
||||
}
|
||||
|
||||
applicationDistribution.from("${project.buildDir}/docs/jsdoc") {
|
||||
include '**'
|
||||
into 'docs/jsdoc'
|
||||
}
|
||||
|
||||
distTar {
|
||||
compression = Compression.GZIP
|
||||
|
||||
filesMatching(textFiles) {
|
||||
filter(FixCrLfFilter.class, eol: FixCrLfFilter.CrLf.newInstance("lf"))
|
||||
}
|
||||
}
|
||||
|
||||
distZip {
|
||||
filesMatching(textFiles) {
|
||||
filter(FixCrLfFilter.class, eol: FixCrLfFilter.CrLf.newInstance("crlf"))
|
||||
}
|
||||
}
|
||||
|
||||
installDist {
|
||||
dependsOn javadoc, 'jsdoc'
|
||||
finalizedBy 'update'
|
||||
}
|
||||
|
||||
run {
|
||||
classpath = files('launcher.jar')
|
||||
jvmArgs jettyLogLevel, suppressMacosDockIcon
|
||||
}
|
||||
|
||||
task processSource(type: Sync) {
|
||||
def date = new Date().format("MMMM dd, yyyy")
|
||||
def gitOutput = new ByteArrayOutputStream()
|
||||
|
||||
exec {
|
||||
commandLine 'git', 'describe'
|
||||
standardOutput = gitOutput
|
||||
errorOutput = new ByteArrayOutputStream()
|
||||
ignoreExitValue = true
|
||||
}
|
||||
|
||||
def description = date
|
||||
def tag = gitOutput.toString().trim()
|
||||
|
||||
// TODO: Implement extended description in Java code
|
||||
if (tag) description = "$tag; $description"
|
||||
|
||||
from 'src'
|
||||
|
||||
filter {
|
||||
line -> line.replaceAll('__builddate__', date)
|
||||
} into "${project.buildDir}/src"
|
||||
}
|
||||
|
||||
task update {
|
||||
def rsyncArgs = ['-a', '--info=progress2', '--exclude', 'backups']
|
||||
|
||||
def confirm = {
|
||||
ant.input(message: 'Update this installation?', validargs: 'y,n', addproperty: 'continue')
|
||||
return ant.continue == 'y'
|
||||
}
|
||||
|
||||
onlyIf { confirm() }
|
||||
|
||||
doFirst {
|
||||
def backupDir = 'backups/' + new Date().format('yyyyMMdd-HHmmss')
|
||||
|
||||
mkdir backupDir
|
||||
|
||||
exec {
|
||||
// Using rsync instead of a CopyTask because the latter chokes on multi-byte characters
|
||||
// See https://github.com/gradle/gradle/issues/789
|
||||
executable 'rsync'
|
||||
args rsyncArgs
|
||||
args "$projectDir/", backupDir
|
||||
}
|
||||
}
|
||||
|
||||
doLast {
|
||||
exec {
|
||||
// Using rsync instead of installDist task because it does not overwrite the project directory
|
||||
executable 'rsync'
|
||||
args rsyncArgs
|
||||
args '--exclude', 'bin'
|
||||
args "${installDist.destinationDir}/", projectDir
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
task jsdoc(type: Exec) {
|
||||
group 'Documentation'
|
||||
description 'Generates JSDoc API documentation for the included JavaScript modules'
|
||||
|
||||
def sources = ['modules/core', 'modules/helma', 'modules/jala/code']
|
||||
def destination = "${project.buildDir}/docs/jsdoc"
|
||||
|
||||
sources.each { dir -> inputs.dir dir }
|
||||
outputs.dir destination
|
||||
|
||||
executable 'npx'
|
||||
args = ['jsdoc', '-d', "$destination"].plus(sources)
|
||||
|
||||
// As of writing jsdoc throws the following error:
|
||||
// Unable to parse /home/tobi/Projects/helma/current/modules/jala/code/Database.js: Unexpected token, expected "(" (844:10)
|
||||
// Seems to be related to the `for each` syntax but did not find any further references.
|
||||
ignoreExitValue true
|
||||
}
|
||||
|
||||
task rhinoShell(type: JavaExec) {
|
||||
group 'Application'
|
||||
description 'Runs the interactive Rhino JavaScript shell'
|
||||
|
||||
def rhinoJar = configurations.library.files.find { jar ->
|
||||
jar.name.startsWith('rhino')
|
||||
}
|
||||
|
||||
classpath = files(rhinoJar)
|
||||
main = 'org.mozilla.javascript.tools.shell.Main'
|
||||
|
||||
standardInput = System.in
|
||||
}
|
||||
|
||||
// Call this task with a function definition using the `-P` parameter, e.g.
|
||||
// `./gradlew commandLine -Pfunction=manage.getAllApplications`
|
||||
task commandLine(type: JavaExec) {
|
||||
group 'Application'
|
||||
description 'Runs a function in a Helma application with `-Pfunction=app.functionName`'
|
||||
|
||||
classpath = files('launcher.jar')
|
||||
main = 'helma.main.launcher.Commandline'
|
||||
args '-h', projectDir, function
|
||||
}
|
401
build.xml
Normal file
401
build.xml
Normal file
|
@ -0,0 +1,401 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<project name="Helma" default="usage" basedir=".">
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Initializes some variables -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="init">
|
||||
<property name="Name" value="helma"/>
|
||||
<property name="year" value="1998-${year}"/>
|
||||
<property name="version" value="1.7.4"/>
|
||||
<property name="project" value="helma"/>
|
||||
|
||||
<property name="home.dir" value="."/>
|
||||
<property name="build.dir" value="${home.dir}/build"/>
|
||||
<property name="build.src" value="${home.dir}/src"/>
|
||||
<property name="build.lib" value="${home.dir}/lib"/>
|
||||
<property name="build.classes" value="${home.dir}/classes"/>
|
||||
<property name="build.docs" value="${home.dir}/docs"/>
|
||||
<property name="build.externals" value="${build.dir}/externals"/>
|
||||
|
||||
<property name="build.work" value="${home.dir}/work"/>
|
||||
<property name="build.dist" value="${home.dir}/dist"/>
|
||||
|
||||
<property name="jar.name" value="${project}"/>
|
||||
<property name="package.name" value="${project}-${version}"/>
|
||||
<property name="core.name" value="${project}-core-${version}"/>
|
||||
|
||||
<property name="debug" value="on"/>
|
||||
<property name="optimize" value="on"/>
|
||||
<property name="deprecation" value="off"/>
|
||||
|
||||
<path id="build.class.path">
|
||||
<fileset dir="${home.dir}/lib">
|
||||
<exclude name="**/helma*.jar" />
|
||||
<include name="**/*.jar" />
|
||||
</fileset>
|
||||
</path>
|
||||
|
||||
<tstamp/>
|
||||
|
||||
<filter token="year" value="${year}"/>
|
||||
<filter token="version" value="${version}"/>
|
||||
<filter token="date" value="${TODAY}"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Help on usage -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="help" depends="usage" />
|
||||
<target name="usage">
|
||||
<echo message=""/>
|
||||
<echo message=""/>
|
||||
<echo message="Helma build instructions"/>
|
||||
<echo message="-------------------------------------------------------------"/>
|
||||
<echo message=""/>
|
||||
<echo message=" available targets are:"/>
|
||||
<echo message=""/>
|
||||
<echo message=" compile --> compiles the source code to ./classes"/>
|
||||
<echo message=" jar --> generates the ./lib/helma-YYYYMMDD.jar file"/>
|
||||
<echo message=" package --> generates the distribution (zip and tar.gz)"/>
|
||||
<echo message=" app [name] --> gets an application from svn and zips it"/>
|
||||
<echo message=" module [name] --> gets a module from svn and zips it"/>
|
||||
<echo message=" core --> generates core for production updates (zip and tar.gz)"/>
|
||||
<echo message=" clean --> clean up temporary build directories and files"/>
|
||||
<echo message=""/>
|
||||
<echo message=" usage --> provides help on using the build tool (default)"/>
|
||||
<echo message=""/>
|
||||
<echo message=" See comments inside the build.xml file for more details."/>
|
||||
<echo message="-------------------------------------------------------------"/>
|
||||
<echo message=""/>
|
||||
<echo message=""/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Compiles the source directory -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="compile" depends="init">
|
||||
<mkdir dir="${build.classes}"/>
|
||||
<!-- copy the imageio file -->
|
||||
<copy file="${build.src}/META-INF/services/javax.imageio.spi.ImageWriterSpi"
|
||||
todir="${build.classes}/META-INF/services"/>
|
||||
<!-- copy helma db style sheet -->
|
||||
<copy file="${build.src}/helma/objectmodel/dom/helma.xsl"
|
||||
todir="${build.classes}/helma/objectmodel/dom" />
|
||||
<!-- copy source files over to work directory -->
|
||||
<delete dir="${build.work}/src" quiet="true"/>
|
||||
<mkdir dir="${build.work}/src" />
|
||||
<copy todir="${build.work}/src" overwrite="true">
|
||||
<fileset dir="${build.src}" includes="**/*.java"/>
|
||||
</copy>
|
||||
<replace file="${build.work}/src/helma/main/Server.java"
|
||||
token="__builddate__" value="${TODAY}"/>
|
||||
<javac srcdir="${build.work}/src"
|
||||
source="1.8"
|
||||
target="1.8"
|
||||
destdir="${build.classes}"
|
||||
debug="${debug}"
|
||||
deprecation="${deprecation}"
|
||||
optimize="${optimize}"
|
||||
includeAntRuntime="no">
|
||||
<classpath refid="build.class.path" />
|
||||
</javac>
|
||||
<delete dir="${build.work}/src"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Creates a helma.jar file (snapshot) in the lib-directory -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="jar" depends="compile">
|
||||
<jar jarfile="${build.lib}/${jar.name}-${DSTAMP}.jar"
|
||||
basedir="${build.classes}"
|
||||
excludes="**/package.html,**/main/launcher/**"/>
|
||||
<jar jarfile="${home.dir}/launcher.jar"
|
||||
basedir="${build.classes}"
|
||||
includes="**/main/launcher/**"
|
||||
manifest="${build.src}/helma/main/launcher/manifest.txt"/>
|
||||
<!-- Copy timestamped helma jar file to lib/helma.jar -->
|
||||
<copy file="${build.lib}/${jar.name}-${DSTAMP}.jar"
|
||||
tofile="${build.lib}/${jar.name}.jar"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Get the documentation (currently can fail due to request time-out -->
|
||||
<!-- or missing support for proxies) -->
|
||||
<!-- =================================================================== -->
|
||||
<!-- <target name="docs" depends="init"> -->
|
||||
<!-- <get src="http://www.helma.org/docs/reference/print" -->
|
||||
<!-- dest="${build.docs}/reference.html" -->
|
||||
<!-- ignoreerrors="true" -->
|
||||
<!-- /> -->
|
||||
<!-- </target> -->
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Builds and packages only the core for the deployment and updating -->
|
||||
<!-- of production environments -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="core" depends="init, jar">
|
||||
<mkdir dir="${build.work}"/>
|
||||
|
||||
<!-- copy all libraries except helma-YYYYMMDD.jar -->
|
||||
<copy todir="${build.work}/lib">
|
||||
<fileset dir="${home.dir}/lib">
|
||||
<exclude name="**/helma-*.jar" />
|
||||
<include name="**/*.jar" />
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- copy the launcher jar and start files-->
|
||||
<copy file="${home.dir}/launcher.jar" todir="${build.work}/lib"/>
|
||||
|
||||
<!-- create lib/ext directory -->
|
||||
<mkdir dir="${build.work}/lib/ext"/>
|
||||
|
||||
<!-- copy the license files -->
|
||||
<copy todir="${build.work}/licenses">
|
||||
<fileset dir="${home.dir}/licenses" excludes="**/.svn**"/>
|
||||
</copy>
|
||||
<copy file="${home.dir}/license.txt" todir="${build.work}/licenses"/>
|
||||
|
||||
<!-- zip up the whole thing -->
|
||||
<antcall target="package-zip">
|
||||
<param name="filename" value="${core.name}"/>
|
||||
</antcall>
|
||||
<antcall target="package-tgz">
|
||||
<param name="filename" value="${core.name}"/>
|
||||
</antcall>
|
||||
|
||||
<!-- clean up -->
|
||||
<delete dir="${build.work}"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Creates the full helma distribution -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package" depends="init">
|
||||
<mkdir dir="${build.work}"/>
|
||||
|
||||
<!-- checkout the demo apps (and zip manage-app) -->
|
||||
<antcall target="package-apps" />
|
||||
|
||||
<!-- create the main part of helma -->
|
||||
<antcall target="package-raw">
|
||||
<param name="distribution" value="main" />
|
||||
</antcall>
|
||||
|
||||
<!-- copy modules -->
|
||||
<antcall target="package-modules" />
|
||||
|
||||
<chmod perm="755">
|
||||
<fileset dir="${build.work}">
|
||||
<include name="start.sh"/>
|
||||
</fileset>
|
||||
</chmod>
|
||||
|
||||
<!-- zip up the whole thing -->
|
||||
<antcall target="package-zip">
|
||||
<param name="filename" value="${package.name}"/>
|
||||
</antcall>
|
||||
<antcall target="package-tgz">
|
||||
<param name="filename" value="${package.name}"/>
|
||||
</antcall>
|
||||
|
||||
<!-- make the src distributions -->
|
||||
<antcall target="package-src-zip">
|
||||
<param name="filename" value="${package.name}"/>
|
||||
</antcall>
|
||||
<antcall target="package-src-tgz">
|
||||
<param name="filename" value="${package.name}"/>
|
||||
</antcall>
|
||||
|
||||
<!-- clean up -->
|
||||
<delete dir="${build.work}"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Compile Helma and prepare the skeleton in a temporary directory. -->
|
||||
<!-- Used by package . -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-raw" depends="init, jar">
|
||||
|
||||
<!-- copy the framework (apps.props, server.props, hop/db, hop/static) -->
|
||||
<copy todir="${build.work}">
|
||||
<fileset dir="${build.dir}/${distribution}" excludes="**/.svn**"/>
|
||||
</copy>
|
||||
|
||||
<!-- copy the launcher jar and start files -->
|
||||
<copy file="${home.dir}/launcher.jar" todir="${build.work}/"/>
|
||||
<copy file="${home.dir}/start.sh" todir="${build.work}"/>
|
||||
<copy file="${home.dir}/start.bat" todir="${build.work}"/>
|
||||
|
||||
<!-- copy README.txt -->
|
||||
<copy file="${home.dir}/README.txt" todir="${build.work}/"/>
|
||||
|
||||
<!-- copy all libraries except helma-YYYYMMDD.jar -->
|
||||
<copy todir="${build.work}/lib">
|
||||
<fileset dir="${home.dir}/lib">
|
||||
<exclude name="**/helma-*.jar" />
|
||||
<include name="**/*.jar" />
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- create lib/ext directory -->
|
||||
<mkdir dir="${build.work}/lib/ext"/>
|
||||
|
||||
<!-- copy the license files -->
|
||||
<copy todir="${build.work}/licenses">
|
||||
<fileset dir="${home.dir}/licenses" excludes="**/.svn**"/>
|
||||
</copy>
|
||||
<copy file="${home.dir}/license.txt" todir="${build.work}/licenses"/>
|
||||
|
||||
<!-- copy the scripts directory -->
|
||||
<copy todir="${build.work}/scripts">
|
||||
<fileset dir="${home.dir}/scripts" excludes="**/.svn**"/>
|
||||
</copy>
|
||||
|
||||
<!-- zip the sourcecode -->
|
||||
<!-- mkdir dir="${build.work}/src"/>
|
||||
<tar tarfile="${build.work}/src/helma-src.tar" basedir="${build.src}/">
|
||||
<tarfileset dir="${build.src}">
|
||||
<include name="${build.src}/**"/>
|
||||
</tarfileset>
|
||||
</tar>
|
||||
<gzip zipfile="${build.work}/src/helma-src.tar.gz" src="${build.work}/src/helma-src.tar"/>
|
||||
<delete file="${build.work}/src/helma-src.tar"/ -->
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- zip manage app -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-apps" depends="init">
|
||||
|
||||
<mkdir dir="${build.work}/apps" />
|
||||
|
||||
<mkdir dir="${build.work}/apps/manage"/>
|
||||
<zip zipfile="${build.work}/apps/manage/manage.zip" basedir="${home.dir}/apps/manage/"
|
||||
includes="**" excludes="**/properties,readme/**" />
|
||||
<copy todir="${build.work}/apps/manage">
|
||||
<fileset dir="${home.dir}/apps/manage" includes="app.properties,class.properties,readme.txt"/>
|
||||
</copy>
|
||||
<!-- delete dir="${build.work}/manage" /-->
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Checkout modules including helmaTools -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-modules" depends="init">
|
||||
|
||||
<!-- add a copy of the modules -->
|
||||
<mkdir dir="${build.work}/modules"/>
|
||||
<copy todir="${build.work}/modules">
|
||||
<fileset dir="${home.dir}/modules"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Packages the work directory with TAR-GZIP -->
|
||||
<!-- needs parameter ${filename} for final dist-file -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-tgz" depends="init">
|
||||
<mkdir dir="${build.dist}" />
|
||||
<fixcrlf srcdir="${build.work}" eol="lf" eof="remove" includes="**/*.txt, **/*.properties, **/*.hac, **/*.js, **/*.skin" />
|
||||
<tar tarfile="${build.dist}/${filename}.tar" basedir="${build.work}" excludes="**">
|
||||
<tarfileset prefix="${filename}" dir="${build.work}" mode="755">
|
||||
<include name="start.sh"/>
|
||||
</tarfileset>
|
||||
<tarfileset prefix="${filename}" dir="${build.work}">
|
||||
<include name="**"/>
|
||||
<exclude name="start.sh"/>
|
||||
<exclude name="lib/jimi.jar"/>
|
||||
<exclude name="lib/apache-dom.jar"/>
|
||||
</tarfileset>
|
||||
</tar>
|
||||
<gzip zipfile="${build.dist}/${filename}.tar.gz" src="${build.dist}/${filename}.tar"/>
|
||||
<delete file="${build.dist}/${filename}.tar"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Packages the work directory with ZIP -->
|
||||
<!-- needs parameter ${filename} for final dist-file -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-zip" depends="init">
|
||||
<mkdir dir="${build.dist}" />
|
||||
<fixcrlf srcdir="${build.work}" eol="crlf" includes="**/*.txt, **/*.properties, **/*.hac, **/*.js, **/*.skin, **/*.xml" />
|
||||
<zip zipfile="${build.dist}/${filename}.zip">
|
||||
<zipfileset dir="${build.work}" prefix="${filename}">
|
||||
<include name="**"/>
|
||||
<exclude name="start.sh"/>
|
||||
<exclude name="lib/jimi.jar"/>
|
||||
<exclude name="lib/apache-dom.jar"/>
|
||||
</zipfileset>
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Packages Helma src and build directories with TAR-GZIP -->
|
||||
<!-- needs parameter ${filename} for final dist-file -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-src-tgz" depends="init">
|
||||
<mkdir dir="${build.dist}" />
|
||||
<tar tarfile="${build.dist}/${filename}-src.tar">
|
||||
<tarfileset prefix="${filename}" dir="${home.dir}">
|
||||
<include name="src/**"/>
|
||||
<include name="build/**"/>
|
||||
<include name="build.xml"/>
|
||||
<include name="licenses/**"/>
|
||||
<include name="license.txt"/>
|
||||
<include name="lib/jimi.jar"/>
|
||||
<include name="lib/apache-dom.jar"/>
|
||||
</tarfileset>
|
||||
</tar>
|
||||
<gzip zipfile="${build.dist}/${filename}-src.tar.gz" src="${build.dist}/${filename}-src.tar"/>
|
||||
<delete file="${build.dist}/${filename}-src.tar"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Packages Helma src and build directories with ZIP -->
|
||||
<!-- needs parameter ${filename} for final dist-file -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-src-zip" depends="init">
|
||||
<mkdir dir="${build.dist}" />
|
||||
<zip zipfile="${build.dist}/${filename}-src.zip">
|
||||
<zipfileset dir="${home.dir}" prefix="${filename}">
|
||||
<include name="src/**"/>
|
||||
<include name="build/**"/>
|
||||
<include name="build.xml"/>
|
||||
<include name="licenses/**"/>
|
||||
<include name="license.txt"/>
|
||||
<include name="lib/jimi.jar"/>
|
||||
<include name="lib/apache-dom.jar"/>
|
||||
</zipfileset>
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Cleans up temporary build directories -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="clean" depends="init">
|
||||
<delete dir="${build.work}" />
|
||||
<delete dir="${build.classes}" />
|
||||
<delete dir="${build.dist}"/>
|
||||
<delete file="${home.dir}/launcher.jar" quiet="true"/>
|
||||
<delete>
|
||||
<fileset dir="${build.lib}" includes="${jar.name}*.jar"/>
|
||||
</delete>
|
||||
</target>
|
||||
|
||||
</project>
|
52
build/README.txt
Normal file
52
build/README.txt
Normal file
|
@ -0,0 +1,52 @@
|
|||
This is the README file for the Helma build files as part of the Helma Object Publisher.
|
||||
|
||||
PREREQUISITES
|
||||
=============
|
||||
|
||||
The Helma build script is uses Apache Ant.
|
||||
For more information about Ant, see <http://ant.apache.org/>.
|
||||
|
||||
For checking out the source files from Helma's CVS you also need a CVS client.
|
||||
More information about CVS at <http://www.cvshome.org/>.
|
||||
|
||||
|
||||
STARTING BUILD
|
||||
==============
|
||||
|
||||
The build system is started by invoking the shell script appropriate to your
|
||||
platform, ie. build.sh for *nix (Linux, NetBSD etc.) and build.bat for Windows
|
||||
systems. You need to modify the script and set the JAVA_HOME to fit your system.
|
||||
|
||||
The generic syntax is
|
||||
|
||||
ant target
|
||||
|
||||
The parameter "target" specifies one of the build targets listed below.
|
||||
|
||||
|
||||
BUILD TARGETS
|
||||
=============
|
||||
|
||||
compile
|
||||
Compiles the source files contained in the work/checkout/hop/ directory into the work/classes/ directory (which will be created if necessary).
|
||||
|
||||
jar
|
||||
Creates a helma.jar file (snapshot) in the lib-directory. The file is named helma-yyyymmdd.jar.
|
||||
|
||||
javadocs
|
||||
Creates the javadoc API documentation.
|
||||
|
||||
package
|
||||
Creates the full helma distribution packages and places them in the dist directory.
|
||||
|
||||
app [name]
|
||||
Gets an application from the cvs, zips/targzs it and places the files in the dist directory.
|
||||
|
||||
module [name]
|
||||
Gets a module from the cvs, zips it and places the file in the dist directory.
|
||||
|
||||
|
||||
--
|
||||
|
||||
|
||||
|
12
build/main/apps.properties
Normal file
12
build/main/apps.properties
Normal file
|
@ -0,0 +1,12 @@
|
|||
# List of applications to start.
|
||||
# More information about this file is available at
|
||||
# http://helma.org/Documentation/Properties+Files/apps.properties/
|
||||
|
||||
|
||||
# Administrative application to manage all other apps on this server,
|
||||
# accessible via its default mountpoint at http://<host>:<port>/manage
|
||||
# and using its default repository at apps/manage
|
||||
|
||||
manage
|
||||
|
||||
|
|
@ -1,32 +1,36 @@
|
|||
# Helma server configuration file.
|
||||
# More information about this file is available at
|
||||
# http://helma.org/docs/guide/properties/server.properties/
|
||||
# http://helma.org/docs/guide/properties/server.properties/
|
||||
|
||||
# HTTP server port
|
||||
webPort = 8080
|
||||
|
||||
# XML-RPC server port
|
||||
xmlRpcPort = 8081
|
||||
|
||||
# Comma-separated list of ip addresses which are allowed to access
|
||||
# admin applications. Default is localhost for IPv4 and IPv6.
|
||||
allowAdmin = 127.0.0.1, ::1
|
||||
|
||||
# Credentials for using administrative apps like manage, shell and inspector
|
||||
adminAccess = 2e7e46fdfc6174e1330359be2e75e766
|
||||
|
||||
# The SMTP server to use for sending mails. Set and uncomment the
|
||||
# following line before trying to send mails from Helma applications.
|
||||
#smtp = mail.yourdomain.com
|
||||
#
|
||||
# smtp=mail.yourdomain.com
|
||||
|
||||
# During development, you may want to uncomment the following line, which
|
||||
# will cause errors to be logged directly to the console instead of writing
|
||||
# During development, you may want to uncomment the following line, which
|
||||
# will cause errors to be logged directly to the console instead of writing
|
||||
# to the log files inside the default ./log directory.
|
||||
#logDir = console
|
||||
#
|
||||
# logDir = console
|
||||
|
||||
# Server-wide locale settings
|
||||
# Some examples for server-wide locale settings
|
||||
# (please refer to http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.html
|
||||
# for country codes, resp. http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
|
||||
# for language codes).
|
||||
#country = AT
|
||||
#language = de
|
||||
#
|
||||
# country = AT
|
||||
# language = de
|
||||
#
|
||||
# country = UK
|
||||
# language = en
|
||||
#
|
||||
# country = FR
|
||||
# language = fr
|
||||
#
|
||||
# country = CZ
|
||||
# language = cs
|
||||
|
||||
# comma-separated list of ip addresses which are allowed to access
|
||||
# admin applications. Default is localhost for IPv4 and IPv6.
|
||||
allowAdmin=127.0.0.1, ::1
|
|
@ -1,3 +0,0 @@
|
|||
org.gradle.console = plain
|
||||
|
||||
function =
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
5
gradle/wrapper/gradle-wrapper.properties
vendored
5
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,5 +0,0 @@
|
|||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.2-bin.zip
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStorePath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
172
gradlew
vendored
172
gradlew
vendored
|
@ -1,172 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
NONSTOP* )
|
||||
nonstop=true
|
||||
;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Escape application args
|
||||
save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=$(save "$@")
|
||||
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
|
||||
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
||||
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
||||
cd "$(dirname "$0")"
|
||||
fi
|
||||
|
||||
exec "$JAVACMD" "$@"
|
84
gradlew.bat
vendored
84
gradlew.bat
vendored
|
@ -1,84 +0,0 @@
|
|||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS=
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
|
@ -1,7 +0,0 @@
|
|||
jar {
|
||||
manifest {
|
||||
from 'src/main/java/helma/main/launcher/manifest.txt'
|
||||
}
|
||||
}
|
||||
|
||||
//startScripts.enabled = false
|
BIN
lib/apache-dom.jar
Normal file
BIN
lib/apache-dom.jar
Normal file
Binary file not shown.
BIN
lib/commons-codec.jar
Normal file
BIN
lib/commons-codec.jar
Normal file
Binary file not shown.
BIN
lib/commons-fileupload.jar
Normal file
BIN
lib/commons-fileupload.jar
Normal file
Binary file not shown.
BIN
lib/commons-io.jar
Normal file
BIN
lib/commons-io.jar
Normal file
Binary file not shown.
BIN
lib/commons-logging.jar
Normal file
BIN
lib/commons-logging.jar
Normal file
Binary file not shown.
BIN
lib/commons-net.jar
Normal file
BIN
lib/commons-net.jar
Normal file
Binary file not shown.
BIN
lib/jetty-ajp.jar
Normal file
BIN
lib/jetty-ajp.jar
Normal file
Binary file not shown.
BIN
lib/jetty-http.jar
Normal file
BIN
lib/jetty-http.jar
Normal file
Binary file not shown.
BIN
lib/jetty-io.jar
Normal file
BIN
lib/jetty-io.jar
Normal file
Binary file not shown.
BIN
lib/jetty-security.jar
Normal file
BIN
lib/jetty-security.jar
Normal file
Binary file not shown.
BIN
lib/jetty-server.jar
Normal file
BIN
lib/jetty-server.jar
Normal file
Binary file not shown.
BIN
lib/jetty-servlet.jar
Normal file
BIN
lib/jetty-servlet.jar
Normal file
Binary file not shown.
BIN
lib/jetty-util.jar
Normal file
BIN
lib/jetty-util.jar
Normal file
Binary file not shown.
BIN
lib/jetty-xml.jar
Normal file
BIN
lib/jetty-xml.jar
Normal file
Binary file not shown.
BIN
lib/jimi.jar
Normal file
BIN
lib/jimi.jar
Normal file
Binary file not shown.
BIN
lib/mail.jar
Normal file
BIN
lib/mail.jar
Normal file
Binary file not shown.
BIN
lib/rhino.jar
Normal file
BIN
lib/rhino.jar
Normal file
Binary file not shown.
BIN
lib/servlet.jar
Normal file
BIN
lib/servlet.jar
Normal file
Binary file not shown.
BIN
lib/tagsoup.jar
Normal file
BIN
lib/tagsoup.jar
Normal file
Binary file not shown.
BIN
lib/xmlrpc.jar
Normal file
BIN
lib/xmlrpc.jar
Normal file
Binary file not shown.
|
@ -1,21 +1,4 @@
|
|||
This package was debianized by Hannes Wallnoefer <hannes@helma.at> on
|
||||
Mon, 15 Dec 2008 11:04:41 +0100.
|
||||
|
||||
It was downloaded from http://www.helma.org/
|
||||
|
||||
Upstream Authors:
|
||||
|
||||
Hannes Wallnoefer
|
||||
Robert Gaggl
|
||||
Daniel Rutharth
|
||||
Stefan Pollach
|
||||
Tobias Schaefer
|
||||
Manfred Andres
|
||||
Juerg Lehni
|
||||
|
||||
Copyright: 1999-2008 Helma Project. All rights reserved.
|
||||
|
||||
License:
|
||||
Copyright (c) 1999-2008 Helma Project. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
|
@ -52,11 +35,3 @@ License:
|
|||
Helma includes third party software released under different specific
|
||||
license terms. See the licenses directory in the Helma distribution
|
||||
for a list of these licenses.
|
||||
|
||||
The Debian packaging is (C) 2008, Hannes Wallnoefer <hannes@helma.at> and
|
||||
is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
|
||||
|
||||
Parts of Helma come with different licenses, see /usr/share/helma/licenses
|
||||
for details.
|
||||
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
# Helma Modules
|
||||
|
||||
The Helma modules directory is organized in several groups:
|
||||
|
||||
* **modules/core** which contains extensions to core JavaScript types such as
|
||||
Object, Array, or Date.
|
||||
* **modules/helma** which provide new functionality to JavaScript, usually by
|
||||
wrapping a Java library.
|
||||
* **modules/jala**, a Git submodule providing the very useful ORF.at libraries for Helma
|
||||
|
||||
To use a HelmaLib module in your Helma application, you need to add it to the
|
||||
app's repositories. The simplest way to do so is by using the `app.addRepository()`
|
||||
function:
|
||||
|
||||
app.addRepository('modules/helma/Search.js');
|
|
@ -17,14 +17,15 @@
|
|||
/**
|
||||
* @fileoverview Adds useful methods to the JavaScript Array type.
|
||||
* <br /><br />
|
||||
* To use this optional module, its repository needs to be added to the
|
||||
* To use this optional module, its repository needs to be added to the
|
||||
* application, for example by calling app.addRepository('modules/core/Array.js')
|
||||
*
|
||||
* @addon
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Check if this array contains a specific value.
|
||||
* @external
|
||||
* @memberof {Array}
|
||||
* @param {Object} val the value to check
|
||||
* @return {boolean} true if the value is contained
|
||||
*/
|
||||
|
@ -34,8 +35,6 @@ Array.prototype.contains = function(val) {
|
|||
|
||||
/**
|
||||
* Retrieve the union set of a bunch of arrays
|
||||
* @external
|
||||
* @memberof {Array}
|
||||
* @param {Array} array1,... the arrays to unify
|
||||
* @return {Array} the union set
|
||||
*/
|
||||
|
@ -56,8 +55,6 @@ Array.union = function() {
|
|||
|
||||
/**
|
||||
* Retrieve the intersection set of a bunch of arrays
|
||||
* @external
|
||||
* @memberof {Array}
|
||||
* @param {Array} array1,... the arrays to intersect
|
||||
* @return {Array} the intersection set
|
||||
*/
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
/**
|
||||
* @fileoverview Adds useful methods to the JavaScript Date type.
|
||||
* <br /><br />
|
||||
* To use this optional module, its repository needs to be added to the
|
||||
* To use this optional module, its repository needs to be added to the
|
||||
* application, for example by calling app.addRepository('modules/core/Date.js')
|
||||
*/
|
||||
|
||||
|
@ -33,11 +33,9 @@ Date.ISOFORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'";
|
|||
|
||||
/**
|
||||
* Format a Date to a string.
|
||||
* For details on the format pattern, see
|
||||
* http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html *
|
||||
* @external
|
||||
* @memberof {Date}
|
||||
*
|
||||
* For details on the format pattern, see
|
||||
* http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html
|
||||
*
|
||||
* @param String Format pattern
|
||||
* @param Object Java Locale Object (optional)
|
||||
* @param Object Java TimeZone Object (optional)
|
||||
|
@ -55,23 +53,19 @@ Date.prototype.format = function (format, locale, timezone) {
|
|||
};
|
||||
|
||||
|
||||
/**
|
||||
/**
|
||||
* set the date/time to UTC by subtracting
|
||||
* the timezone offset
|
||||
* @external
|
||||
* @memberof {Date}
|
||||
*/
|
||||
*/
|
||||
Date.prototype.toUtc = function() {
|
||||
this.setMinutes(this.getMinutes() + this.getTimezoneOffset());
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
/**
|
||||
* set the date/time to local time by adding
|
||||
* the timezone offset
|
||||
* @external
|
||||
* @memberof {Date}
|
||||
*/
|
||||
*/
|
||||
Date.prototype.toLocalTime = function() {
|
||||
this.setMinutes(this.getMinutes() - this.getTimezoneOffset());
|
||||
};
|
||||
|
@ -80,8 +74,6 @@ Date.prototype.toLocalTime = function() {
|
|||
/**
|
||||
* returns the difference between this and another
|
||||
* date object in milliseconds
|
||||
* @external
|
||||
* @memberof {Date}
|
||||
*/
|
||||
Date.prototype.diff = function(dateObj) {
|
||||
return this.getTime() - dateObj.getTime();
|
||||
|
@ -90,8 +82,6 @@ Date.prototype.diff = function(dateObj) {
|
|||
|
||||
/**
|
||||
* return the timespan to current date/time or a different Date object
|
||||
* @external
|
||||
* @memberof {Date}
|
||||
* @param Object parameter object containing optional properties:
|
||||
* .now = String to use if difference is < 1 minute
|
||||
* .day|days = String to use for single|multiple day(s)
|
||||
|
@ -144,8 +134,6 @@ Date.prototype.getTimespan = function(param) {
|
|||
* return the past timespan between this Date object and
|
||||
* the current Date or a different Date object
|
||||
* @see Date.prototype.getTimespan
|
||||
* @external
|
||||
* @memberof {Date}
|
||||
*/
|
||||
Date.prototype.getAge = function(param) {
|
||||
var age = this.getTimespan(param);
|
||||
|
@ -159,8 +147,6 @@ Date.prototype.getAge = function(param) {
|
|||
* return the future timespan between this Date object and
|
||||
* the current Date or a different Date object
|
||||
* @see Date.prototype.getTimespan
|
||||
* @external
|
||||
* @memberof {Date}
|
||||
*/
|
||||
Date.prototype.getExpiry = function(param) {
|
||||
var age = this.getTimespan(param);
|
||||
|
@ -172,8 +158,6 @@ Date.prototype.getExpiry = function(param) {
|
|||
|
||||
/**
|
||||
* checks if a date object equals another date object
|
||||
* @external
|
||||
* @memberof {Date}
|
||||
* @param Object Date object to compare
|
||||
* @param Int indicating how far the comparison should go
|
||||
* @return Boolean
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue