summaryrefslogtreecommitdiff
path: root/soldep
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2009-10-02 10:02:51 +0000
committerVladimir Glazounov <vg@openoffice.org>2009-10-02 10:02:51 +0000
commitd4f8c54b15c1e56b024ff0156eb7577b2fd91aef (patch)
tree976b5d69c71b969990a87ea1494aba4979456b05 /soldep
parent41faa44b020686a511625a4bb92a2edc3c63bf12 (diff)
CWS-TOOLING: integrate CWS bserver48
2009-09-24 19:44:37 +0200 kz r276428 : #160697# use source_config
Diffstat (limited to 'soldep')
-rw-r--r--soldep/bootstrp/prj.cxx36
-rw-r--r--soldep/inc/soldep/prj.hxx2
2 files changed, 36 insertions, 2 deletions
diff --git a/soldep/bootstrp/prj.cxx b/soldep/bootstrp/prj.cxx
index 5f5f7f2db43a..14f966469e6f 100644
--- a/soldep/bootstrp/prj.cxx
+++ b/soldep/bootstrp/prj.cxx
@@ -1230,6 +1230,12 @@ void Star::UpdateFileList( GenericInformationList *pStandLst, ByteString &rVersi
aEntry += DirEntry( ssAddPath );
}
}
+ sPath = rVersion;
+ sPath += "/settings/SHORTPATH";
+ GenericInformation *pShortPath = pStandLst->GetInfo( sPath, TRUE );
+ BOOL bShortPath = FALSE;
+ if (pShortPath && (pShortPath->GetValue() == "_TRUE"))
+ bShortPath = TRUE;
sSourceRoot = aEntry.GetFull();
GenericInformationList *pProjects = pProjectsKey->GetSubList();
if ( pProjects ) {
@@ -1243,7 +1249,11 @@ void Star::UpdateFileList( GenericInformationList *pStandLst, ByteString &rVersi
GenericInformation * pDir = pProject->GetSubInfo (aDirStr);
if (pDir) {
ByteString aDir = pDir->GetValue();
- DirEntry aRootEntry = aEntry.GetPath() + DirEntry(aDir);
+ DirEntry aRootEntry;
+ if (bShortPath)
+ aRootEntry = aEntry + DirEntry(aDir);
+ else
+ aRootEntry = aEntry.GetPath() + DirEntry(aDir);
sLocalSourceRoot = aRootEntry.GetFull();
}
@@ -1277,6 +1287,18 @@ void Star::UpdateFileList( GenericInformationList *pStandLst, ByteString &rVersi
}
/*****************************************************************************/
+void Star::FullReload( GenericInformationList *pStandLst, ByteString &rVersion,
+ BOOL bRead, BOOL bLocal, const char *pSourceRoot )
+/*****************************************************************************/
+{
+ ClearAvailableDeps();
+ ClearCurrentDeps();
+ ClearLoadedFilesList();
+ RemoveAllPrj();
+ UpdateFileList( pStandLst, rVersion, bRead, bLocal, pSourceRoot );
+}
+
+/*****************************************************************************/
BOOL Star::CheckFileLoadList(SolarFileList *pSolarFiles)
/*****************************************************************************/
{
@@ -2379,6 +2401,12 @@ StarWriter::StarWriter( XmlBuildList* pXmlBuildListObj, GenericInformationList *
aEntry += DirEntry( ssAddPath );
}
}
+ sPath = rVersion;
+ sPath += "/settings/SHORTPATH";
+ GenericInformation *pShortPath = pStandLst->GetInfo( sPath, TRUE );
+ BOOL bShortPath = FALSE;
+ if (pShortPath && (pShortPath->GetValue() == "_TRUE"))
+ bShortPath = TRUE;
sSourceRoot = aEntry.GetFull();
GenericInformationList *pProjects = pProjectsKey->GetSubList();
if ( pProjects ) {
@@ -2396,7 +2424,11 @@ StarWriter::StarWriter( XmlBuildList* pXmlBuildListObj, GenericInformationList *
GenericInformation * pDir = pProject->GetSubInfo (aDirStr);
if (pDir) {
ByteString aDir = pDir->GetValue();
- aPrjEntry = aEntry.GetPath() + DirEntry(aDir);
+ if (bShortPath)
+ aPrjEntry = aEntry;
+ else
+ aPrjEntry = aEntry.GetPath();
+ aPrjEntry += DirEntry(aDir);
}
aPrjEntry += DirEntry( ssProject );
diff --git a/soldep/inc/soldep/prj.hxx b/soldep/inc/soldep/prj.hxx
index a2765c1c6cf4..0d0e3c270997 100644
--- a/soldep/inc/soldep/prj.hxx
+++ b/soldep/inc/soldep/prj.hxx
@@ -418,6 +418,8 @@ public:
void ReplaceFileEntry( StarFileList *pStarFiles, StarFile* pFile );
void UpdateFileList( GenericInformationList *pStandLst, ByteString &rVersion, BOOL bRead = FALSE,
BOOL bLocal = FALSE, const char *pSourceRoot = NULL );
+ void FullReload( GenericInformationList *pStandLst, ByteString &rVersion, BOOL bRead = FALSE,
+ BOOL bLocal = FALSE, const char *pSourceRoot = NULL );
void GenerateFileLoadList( SolarFileList *pSolarFiles );
BOOL CheckFileLoadList(SolarFileList *pSolarFiles);