summaryrefslogtreecommitdiff
path: root/solenv/bin
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2009-01-06 15:13:58 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2009-01-06 15:13:58 +0000
commita663a4b91d9d7e597d62ed0bd31dbb83e2e9a54c (patch)
treee20f37467b6f3eb49eaf34f5c8558ac8cf65d678 /solenv/bin
parent61bb45f118507b3522c575e283dea74ec1414a44 (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-xsolenv/bin/cwstouched13
-rwxr-xr-xsolenv/bin/cwstouched.btm12
-rwxr-xr-xsolenv/bin/cwstouched.pl129
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
+}