diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2009-01-06 15:13:58 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2009-01-06 15:13:58 +0000 |
commit | a663a4b91d9d7e597d62ed0bd31dbb83e2e9a54c (patch) | |
tree | e20f37467b6f3eb49eaf34f5c8558ac8cf65d678 /solenv/bin | |
parent | 61bb45f118507b3522c575e283dea74ec1414a44 (diff) |
CWS-TOOLING: integrate CWS qadev37
2008-12-19 11:19:12 +0100 cn r265721 : #i97194 implement cwstouched in perl to avoid problems in python libary stuff
2008-12-19 11:07:50 +0100 cn r265720 : #i97194 implement cwstouched in perl to avoid problems in python libary stuff
2008-12-19 11:06:24 +0100 cn r265719 : #i97194 implement cwstouched in perl to avoid problems in python libary stuff
2008-12-17 12:37:50 +0100 lla r265595 : #i97357# us of illegal characters in file
Diffstat (limited to 'solenv/bin')
-rwxr-xr-x | solenv/bin/cwstouched | 13 | ||||
-rwxr-xr-x | solenv/bin/cwstouched.btm | 12 | ||||
-rwxr-xr-x | solenv/bin/cwstouched.pl | 129 |
3 files changed, 144 insertions, 10 deletions
diff --git a/solenv/bin/cwstouched b/solenv/bin/cwstouched index 4b45bcea9b61..1847ce388d76 100755 --- a/solenv/bin/cwstouched +++ b/solenv/bin/cwstouched @@ -1,9 +1,6 @@ -#!/bin/bash -PYTHONPATH=${SOLARVERSION}/${OUTPATH}${PROEXT}/lib${UPDMINOREXT}/python - -if [ x${CWSCHECKAPI_LD_LIBRARY_PATH}x != xx ]; then - export LD_LIBRARY_PATH=$CWSCHECKAPI_LD_LIBRARY_PATH +#!/bin/sh +if [ x${SOLARENV}x = xx ]; then + echo No environment found, please use 'configure' or 'setsolar' + exit 1 fi -export PYTHONPATH - -${SOLARVERSION}/${OUTPATH}${PROEXT}/bin${UPDMINOREXT}/python -x $SOLARENV/bin/cwstouched.py
\ No newline at end of file +exec perl -w $SOLARENV/bin/cwstouched.pl
\ No newline at end of file diff --git a/solenv/bin/cwstouched.btm b/solenv/bin/cwstouched.btm index ba931a760371..33e442dbb51c 100755 --- a/solenv/bin/cwstouched.btm +++ b/solenv/bin/cwstouched.btm @@ -1,3 +1,11 @@ @echo off -set PYTHONPATH=%SOLARVERSION%\%OUTPATH%%PROEXT%\lib.%UPDMINOR%\python -python %SOLARENV%\bin\cwstouched.py
\ No newline at end of file +iff "%SOLARENV%" == "" then + echo No environment found, please use 'configure' or 'setsolar' + goto end +endiff +iff "%PERL%" == "" then + call perl5 -I%SOLARENV%\bin\modules %SOLARENV%\bin\cwstouched.pl %1& +else + call %PERL% -I%SOLARENV%\bin\modules %SOLARENV%\bin\cwstouched.pl %1& +endiff +:end diff --git a/solenv/bin/cwstouched.pl b/solenv/bin/cwstouched.pl new file mode 100755 index 000000000000..0171e39d9fd4 --- /dev/null +++ b/solenv/bin/cwstouched.pl @@ -0,0 +1,129 @@ +: +eval 'exec perl -wS $0 ${1+"$@"}' + if 0; + +#************************************************************************* +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +#***********************************************************************/ + +use strict; +use Cwd; + +#### module lookup +my @lib_dirs; +BEGIN { + if ( !defined($ENV{SOLARENV}) ) { + die "No environment found (environment variable SOLARENV is undefined)"; + } + push(@lib_dirs, "$ENV{SOLARENV}/bin/modules"); +} +use lib (@lib_dirs); + +use Cws; + +my $workstamp = $ENV{'WORK_STAMP'}; +my $solenv= $ENV{'SOLARENV'}; +my $cwsWorkStamp = getCwsWorkStamp(); +my $minor = getMinor($cwsWorkStamp); + +my $oldWorkStamp = $workstamp."_".$minor; +my $svndiff="svn diff --summarize --old=svn://svn.services.openoffice.org/ooo/tags/".$oldWorkStamp." --new=svn://svn.services.openoffice.org/ooo/cws/".$cwsWorkStamp; + +my @diff = `$svndiff`; + +my @modules; +foreach(@diff){ + if (/.*svn:\/\/svn.services.openoffice.org.*/){ + $_ =~ /.*$oldWorkStamp\/(\w*)/; + my $newModule=$1; + if (defined($newModule)){ + if ( ! grep(/$newModule/,@modules)){ + push(@modules, $newModule); + } + + } + } +} + +foreach(@modules){ + print "$_\n"; +} + +exit(0); + +sub getMinor{ + my $workst = shift; + my $min=""; + + if ( ! defined($ENV{'UPDMINOR'})){ + my $cws = Cws->new(); + $cws->child($workst); + $cws->master($ENV{'WORK_STAMP'}); + my $masterws = $cws->master(); + my $childws = $cws->child(); + + # check if we got a valid child workspace + my $id = $cws->eis_id(); + if ( !$id ) { + print("Child workspace '$childws' for master workspace '$masterws' not found in EIS database.\n"); + exit(1); + } + + my @milestones = $cws->milestone(); + foreach (@milestones) { + if ( defined($_) ) { + $min=$_; + } + } + } else { + $min = $ENV{'UPDMINOR'}; + } + + chomp($min); + return $min; +} + +sub getCwsWorkStamp { + my $cwsWorkSt=""; + + if ( ! defined($ENV{'CWS_WORK_STAMP'})){ + my $currPath= cwd; + + chdir($ENV{'SOLARENV'}); + + my @info = `svn info`; + + foreach(@info) { + if ( /URL:.*/ ){ + # URL: svn+ssh://svn@svn.services.openoffice.org/ooo/cws/qadev37/solenv + $_ =
~ /.*svn.services.openoffice.org(.*\/(.*))\/\w*/; + $cwsWorkSt=$2; #qadev37 + } + } + + } else { + $cwsWorkSt = $ENV{'CWS_WORK_STAMP'}; + } + return $cwsWorkSt +} |