# ---
# weinre is available under *either* the terms of the modified BSD license *or* the
# MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
#
# Copyright (c) 2010, 2011 IBM Corporation
# ---

#-----------------------------------------------------------
# weinre version
#-----------------------------------------------------------
WEINRE_VERSION: 1.6.1

#-----------------------------------------------------------
# some common locations used in the ant scripts
#-----------------------------------------------------------

TMP:    tmp
OUT:    out
WEB:    out/web
CACHED: cached
VENDOR: vendor

#-----------------------------------------------------------
# project names used by the build scripts
#-----------------------------------------------------------

PROJECT_PREFIX:           weinre
PROJECT_APPLICATION:      ${PROJECT_PREFIX}.application
PROJECT_BUILD:            ${PROJECT_PREFIX}.build
PROJECT_DOC:              ${PROJECT_PREFIX}.doc
PROJECT_SERVER:           ${PROJECT_PREFIX}.server
PROJECT_WEB:              ${PROJECT_PREFIX}.web

