Commit 4c6327a9 authored by Andreas Kraft's avatar Andreas Kraft

Merge pull request #11 from ankraft/clean-build-directories

Clean build directories
parents c0340630 45578b9b
# RWD050
# Smart Device Template
Repository for the Smart Home Device Template (SDT).
Repository for the Smart Device Template (SDT).
Note that this project runs under Apache 2.0 license. Read the [LICENSE](LICENSE) in this repository, or refer to [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
......
......@@ -9,31 +9,10 @@
</classpath>
</taskdef>
<!-- BND tool -->
<taskdef resource="aQute/bnd/ant/taskdef.properties">
<classpath>
<pathelement location="${path.libs}/ant/bnd-0.0.378.jar"/>
</classpath>
</taskdef>
<!-- Set the log level -->
<taskdef name="setloglevel"
classname="de.berkom.ehome.tools.ant.setloglevel.SetLogLevel"
classpath="${path.libs}/ant/antSetLogLevel.jar"/>
<!-- Ant Thinlet Dialog -->
<taskdef name="dialog"
classname="de.berkom.ehome.tools.ant.dialog.Dialog"
classpath="${path.libs}/ant/antDialog.jar"/>
<!-- SVN Library -->
<taskdef resource="org/tigris/subversion/svnant/svnantlib.xml">
<classpath>
<pathelement location="${path.libs}/ant/svnant.jar"/>
<pathelement location="${path.libs}/ant/svnClientAdapter.jar"/>
<pathelement location="${path.libs}/ant/svnjavahl.jar"/>
</classpath>
</taskdef>
</project>
# Build System Libraries and Licenses
The following libraries are used in the build system for the SDT.
## trang.jar
[http://www.thaiopensource.com/relaxng/trang-manual.html](http://www.thaiopensource.com/relaxng/trang-manual.html)
Trang takes as input a schema written in any of the following formats:
- RELAX NG (XML syntax)
- RELAX NG (compact syntax)
- XML 1.0 DTD
and produces as output a schema written in any of the following formats:
- RELAX NG (XML syntax)
- RELAX NG (compact syntax)
- XML 1.0 DTD
- W3C XML Schema
Trang can also infer a schema from one or more example XML documents.
### License
Copyright (c) 2002, 2003, 2008 Thai Open Source Software Center Ltd
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- 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.
- Neither the name of the Thai Open Source Software Center Ltd nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS 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 REGENTS OR
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.
## Ant-Contrib Tasks
[http://ant-contrib.sourceforge.net](http://ant-contrib.sourceforge.net)
The Ant-Contrib project is a collection of tasks (and at one point maybe types and other tools) for Apache Ant.
### License
This Software is distributed under the Apache Software License.
## antSetLogLevel.jar
GUI dialog for Ant tasks.
Source: Deutsche Telekom
......@@ -4,15 +4,22 @@ This document describes the SDT build system and how to build the SDT and valida
The files referenced in this document point to version **2.0** of the SDT.
## Directory Structure and Important Files
- [SDT/schema2.0/](..) : Base directory
- [SDT/schema2.0/src/](src/) : Source files of the SDT.
- [domain.rng](src/domain.rng) : RELAX NG file with the SDT schema definition. This is the source file that is converted to the actual schema definition *domain.xsd* during the build. See also [http://en.wikipedia.org/wiki/RELAX_NG](http://en.wikipedia.org/wiki/RELAX_NG).
- [SDT/schema2.0/](../..) : Base directory
- [SDT/schema2.0/src/](../src/) : Source files of the SDT.
- [domain.rng](../src/domain.rng) : RELAX NG file with the SDT schema definition. This is the source file that is converted to the actual schema definition *domain.xsd* during the build. See also [http://en.wikipedia.org/wiki/RELAX_NG](http://en.wikipedia.org/wiki/RELAX_NG).
**Only edit this file when one wants to make changes to the SDT!**
- [domain.xsd](src/domain.xsd) : The SDT schema defintion that is generated from *domain.rng*.
- [xml.xsd](src/xml.xsd) : General schema definitions for the SDT
- [SDT/schema2.0/test/](test/) : This directory contains all XML files with SDT definitions that should be validated whether they conform to the SDT schema. This could be example definitions or contributions.
- [SDT/schema2.0/build.xml](build.xml) : This is the definition file for the ant build system.
- [SDT/schema2.0/etc/](etc/), [SDT/schema2.0/lib/](lib/), [SDT/schema2.0/style/](style/) : internal directories for the build system. Please, don't make unnecessary changes to these files.
- [domain.xsd](../src/domain.xsd) : The SDT schema defintion that is generated from *domain.rng*.
- [xml.xsd](../src/xml.xsd) : General schema definitions for the SDT
- [SDT/schema2.0/test/](../test/) : This directory contains all XML files with SDT definitions that should be validated whether they conform to the SDT schema. This could be example definitions or contributions.
- [SDT/schema2.0/build.xml](../build.xml) : This is the definition file for the ant build system.
- [SDT/schema2.0/etc/](../etc/), [SDT/schema2.0/style/](../style/) : internal directories for the build system. Please, don't make unnecessary changes to these files.
- [SDT/schema2.0/etc/dal.rnc](../etc/dal.rnc) : This file contains various configuration parameter to convert the file [domain.rng](../src/domain.rng) to schema file. **The important parameter to change when changing the namespace or the version number is**:
default namespace xsl = "http://homegatewayinitiative.org/xml/dal/2.0"
- [SDT/schema2.0/etc/schemas.xml](../etc/schemas.xml) : This file contains the header for the schema file. **This must be changed when changing the namespace or the version number.**
- [SDT/schema2.0/lib/](lib/) : Tasks for the ant-based build system. See also [SDT Build System Components and Licenses](SDT%20Build%20System%20Components%20and%20Licenses.md).
## Installation
- Install Java on your computer
......@@ -25,7 +32,7 @@ The files referenced in this document point to version **2.0** of the SDT.
After cloning the repository go to the directoy *SDT/schema* and run commands depending on what you want to achieve.
### Build the Schema
Running *ant* without any parameter builds the schema definition from the rng-definition [SDT/schema2.0/src/domain.rng](src/domain.rng) and writes it to [SDT/schema2.0/src/domain.xsd](src/domain.xsd)
Running *ant* without any parameter builds the schema definition from the rng-definition [SDT/schema2.0/src/domain.rng](../src/domain.rng) and writes it to [SDT/schema2.0/src/domain.xsd](../src/domain.xsd)
$ cd SDT/schema
$ ant
......@@ -50,17 +57,17 @@ Otherwise you most likely receive a stacktrace or some other error messages. Sea
---
## Editing
As mentioned above, the actual schema definition is defined in the file [domain.rng](src/domain.rng) and converted to the XML schema definition [domain.xsd](src/domain.xsd) during the build process.
As mentioned above, the actual schema definition is defined in the file [domain.rng](../src/domain.rng) and converted to the XML schema definition [domain.xsd](../src/domain.xsd) during the build process.
**All changes to the schema must therefore be made in [domain.rng](src/domain.rng), NOT [domain.xsd](src/domain.xsd) !**
**All changes to the schema must therefore be made in [domain.rng](../src/domain.rng), NOT [domain.xsd](../src/domain.xsd) !**
You may need to make additional changes in the following files, e.g. when the name space or the version number need to be adjusted.
PLEASE ONLY EDIT THESE FILES IF NECESSARY.
- [SDT/schema2.0/build.xml](build.xml)
- [SDT/schema2.0/build.xml](../build.xml)
e.g. in the *ant* target "validate"
- [SDT/schema2.0/etc/dal.rnc](etc/dal.rnc)
- [SDT/schema2.0/etc/dal.rnc](../etc/dal.rnc)
e.g. the entry "default namespace xsl"
- [SDT/schema2.0/etc/schema.xmlns](etc/schema.xmlns)
- [SDT/schema2.0/etc/schemas.xml](etc/schemas.xml)
- [SDT/schema2.0/etc/schema.xmlns](../etc/schema.xmlns)
- [SDT/schema2.0/etc/schemas.xml](../etc/schemas.xml)
......@@ -9,31 +9,10 @@
</classpath>
</taskdef>
<!-- BND tool -->
<taskdef resource="aQute/bnd/ant/taskdef.properties">
<classpath>
<pathelement location="${path.libs}/ant/bnd-0.0.378.jar"/>
</classpath>
</taskdef>
<!-- Set the log level -->
<taskdef name="setloglevel"
classname="de.berkom.ehome.tools.ant.setloglevel.SetLogLevel"
classpath="${path.libs}/ant/antSetLogLevel.jar"/>
<!-- Ant Thinlet Dialog -->
<taskdef name="dialog"
classname="de.berkom.ehome.tools.ant.dialog.Dialog"
classpath="${path.libs}/ant/antDialog.jar"/>
<!-- SVN Library -->
<taskdef resource="org/tigris/subversion/svnant/svnantlib.xml">
<classpath>
<pathelement location="${path.libs}/ant/svnant.jar"/>
<pathelement location="${path.libs}/ant/svnClientAdapter.jar"/>
<pathelement location="${path.libs}/ant/svnjavahl.jar"/>
</classpath>
</taskdef>
</project>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment