Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
4c6037df
Kaydet (Commit)
4c6037df
authored
May 21, 2010
tarafından
Ivo Hinkelmann
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Sade Fark
CWS-TOOLING: integrate CWS bserver52
üst
51cf75b7
0cb52efc
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
243 additions
and
445 deletions
+243
-445
prj.cxx
soldep/bootstrp/prj.cxx
+236
-443
prj.hxx
soldep/inc/soldep/prj.hxx
+7
-2
No files found.
soldep/bootstrp/prj.cxx
Dosyayı görüntüle @
4c6037df
...
...
@@ -160,45 +160,34 @@ ByteString SimpleConfig::GetNextLine()
ByteString
SimpleConfig
::
GetCleanedNextLine
(
BOOL
bReadComments
)
/*****************************************************************************/
{
sal_Bool
bStreamOk
;
sal_Bool
bReadNextLine
=
sal_True
;
while
(
bReadNextLine
)
{
bStreamOk
=
aFileStream
.
ReadLine
(
aTmpStr
);
if
(
!
bStreamOk
)
return
ByteString
();
aFileStream
.
ReadLine
(
aTmpStr
);
if
(
aTmpStr
.
Search
(
"#"
)
==
0
)
if
(
bReadComments
)
return
aTmpStr
;
else
while
(
aTmpStr
.
Search
(
"#"
)
==
0
)
{
aFileStream
.
ReadLine
(
aTmpStr
);
}
ByteString
sTab
=
"
\t
"
;
ByteString
sDoubleTab
=
"
\t\t
"
;
ByteString
sSpace
=
" "
;
xub_StrLen
nIndex
=
0
;
aTmpStr
=
aTmpStr
.
EraseLeadingChars
();
aTmpStr
=
aTmpStr
.
EraseTrailingChars
();
// while ( aTmpStr.SearchAndReplace(String(' '),String('\t') ) != (USHORT)-1 );
int
nLength
=
aTmpStr
.
Len
();
// USHORT nPos = 0;
ByteString
aEraseString
;
BOOL
bFirstTab
=
TRUE
;
for
(
USHORT
i
=
0
;
i
<=
nLength
;
i
++
)
{
if
(
aTmpStr
.
GetChar
(
i
)
==
0x20
)
aTmpStr
.
SetChar
(
i
,
0x09
);
aTmpStr
.
SearchAndReplaceAll
(
sSpace
,
sTab
);
while
(
(
nIndex
=
aTmpStr
.
SearchAndReplace
(
sDoubleTab
,
sTab
,
nIndex
))
!=
STRING_NOTFOUND
);
aTmpStr
=
aTmpStr
.
EraseLeadingAndTrailingChars
(
'\t'
);
// remove tabs
if
(
aTmpStr
.
GetChar
(
i
)
==
0x09
)
if
(
aTmpStr
.
Search
(
"#"
)
==
0
)
{
if
(
bFirstTab
)
bFirstTab
=
FALSE
;
else
{
aTmpStr
.
SetChar
(
i
,
0x20
);
}
if
(
bReadComments
)
return
aTmpStr
;
}
else
bFirstTab
=
TRUE
;
else
if
(
aTmpStr
!=
ByteString
::
EmptyString
())
bReadNextLine
=
sal_False
;
}
aTmpStr
.
EraseAllChars
(
' '
);
return
aTmpStr
;
return
aTmpStr
;
}
...
...
@@ -824,7 +813,8 @@ Prj::Prj() :
bVisited
(
FALSE
),
bIsAvailable
(
TRUE
),
pTempCommandDataList
(
0
),
bTempCommandDataListPermanent
(
FALSE
)
bTempCommandDataListPermanent
(
FALSE
),
bError
(
FALSE
)
/*****************************************************************************/
{
}
...
...
@@ -841,7 +831,8 @@ Prj::Prj( ByteString aName ) :
bVisited
(
FALSE
),
bIsAvailable
(
TRUE
),
pTempCommandDataList
(
0
),
bTempCommandDataListPermanent
(
FALSE
)
bTempCommandDataListPermanent
(
FALSE
),
bError
(
FALSE
)
/*****************************************************************************/
{
}
...
...
@@ -1146,6 +1137,7 @@ Prj& Prj::operator>> ( SvStream& rStream )
rStream
<<
bFixedDependencies
;
rStream
<<
bSorted
;
rStream
<<
bIsAvailable
;
rStream
<<
bError
;
if
(
pPrjDepInfoList
)
{
...
...
@@ -1178,6 +1170,7 @@ Prj& Prj::operator<< ( SvStream& rStream )
rStream
>>
bFixedDependencies
;
rStream
>>
bSorted
;
rStream
>>
bIsAvailable
;
rStream
>>
bError
;
BOOL
bDepList
;
rStream
>>
bDepList
;
...
...
@@ -1509,18 +1502,7 @@ void Star::Read( String &rFileName )
while
(
aFileList
.
Count
())
{
String
ssFileName
=
*
aFileList
.
GetObject
((
ULONG
)
0
);
ByteString
sFileName_l
(
ssFileName
,
RTL_TEXTENCODING_ASCII_US
);
StarFile
*
pFile
=
new
StarFile
(
ssFileName
);
if
(
pFile
->
Exists
())
{
// if (sFileName_l.Len() >= RTL_CONSTASCII_LENGTH(XML_EXT) && ssFileName.EqualsAscii(XML_EXT, sFileName_l.Len() - RTL_CONSTASCII_LENGTH(XML_EXT), RTL_CONSTASCII_LENGTH(XML_EXT)))
// {
// ReadXmlBuildList(sFileName_l);
// } else {
SimpleConfig
aSolarConfig
(
ssFileName
);
while
((
aString
=
aSolarConfig
.
GetNext
())
!=
""
)
InsertToken
((
char
*
)
aString
.
GetBuffer
());
// }
}
StarFile
*
pFile
=
ReadBuildlist
(
ssFileName
);
aMutex
.
acquire
();
ReplaceFileEntry
(
&
aLoadedFilesList
,
pFile
);
//aLoadedFilesList.Insert( pFile, LIST_APPEND );
...
...
@@ -1575,19 +1557,9 @@ void Star::Read( SolarFileList *pSolarFiles )
ByteString
aString
;
String
ssFileName
=
*
pSolarFiles
->
GetObject
((
ULONG
)
0
);
ByteString
sFileName_l
(
ssFileName
,
RTL_TEXTENCODING_ASCII_US
);
StarFile
*
pFile
=
new
StarFile
(
ssFileName
);
StarFile
*
pFile
=
ReadBuildlist
(
ssFileName
);
if
(
pFile
->
Exists
())
{
// if (sFileName_l.Len() >= RTL_CONSTASCII_LENGTH(XML_EXT) && ssFileName.EqualsAscii(XML_EXT, sFileName_l.Len() - RTL_CONSTASCII_LENGTH(XML_EXT), RTL_CONSTASCII_LENGTH(XML_EXT)))
// {
// ReadXmlBuildList(sFileName_l);
// } else {
SimpleConfig
aSolarConfig
(
ssFileName
);
while
((
aString
=
aSolarConfig
.
GetNext
())
!=
""
)
InsertToken
((
char
*
)
aString
.
GetBuffer
());
// }
DirEntry
aEntry
(
pFile
->
GetName
()
);
DirEntry
aEntryPrj
=
aEntry
.
GetPath
().
GetPath
();
if
(
aEntryPrj
.
GetExtension
()
!=
String
::
CreateFromAscii
(
""
))
...
...
@@ -1721,207 +1693,259 @@ void Star::Expand_Impl()
}
/*****************************************************************************/
void
Star
::
InsertToken
(
char
*
yytext
)
StarFile
*
Star
::
ReadBuildlist
(
const
String
&
rFilename
,
BOOL
bReadComments
,
BOOL
bExtendAlias
)
/*****************************************************************************/
{
ByteString
sFileName_l
(
rFilename
,
RTL_TEXTENCODING_ASCII_US
);
StarFile
*
pFile
=
new
StarFile
(
rFilename
);
if
(
pFile
->
Exists
())
{
SimpleConfig
aSolarConfig
(
rFilename
);
DirEntry
aEntry
(
rFilename
);
ByteString
sProjectName
(
aEntry
.
GetPath
().
GetPath
().
GetName
(),
RTL_TEXTENCODING_ASCII_US
);
Prj
*
pPrj
=
GetPrj
(
sProjectName
);
// 0, if Prj not found
if
(
pPrj
)
{
Remove
(
pPrj
);
// Project exist, remove old Project and read again
DELETEZ
(
pPrj
);
// delete and set pPrj to 0
}
ByteString
aString
;
while
((
aString
=
aSolarConfig
.
GetCleanedNextLine
(
bReadComments
))
!=
ByteString
::
EmptyString
()
)
InsertTokenLine
(
aString
,
&
pPrj
,
sProjectName
,
bExtendAlias
);
}
return
pFile
;
}
/*****************************************************************************/
void
Star
::
InsertTokenLine
(
const
ByteString
&
rTokenLine
,
Prj
**
ppPrj
,
const
ByteString
&
rProjectName
,
const
sal_Bool
bExtendAlias
)
/*****************************************************************************/
{
static
int
i
=
0
;
static
ByteString
aDirName
,
aWhat
,
aWhatOS
,
int
i
=
0
;
ByteString
aWhat
,
aWhatOS
,
sClientRestriction
,
aLogFileName
,
aProjectName
,
aPrefix
,
aCommandPara
;
static
BOOL
bPrjDep
=
FALSE
;
static
BOOL
bHardDep
=
FALSE
;
static
BOOL
bFixedDep
=
FALSE
;
static
int
nCommandType
,
nOSType
;
ByteString
aDirName
;
BOOL
bPrjDep
=
FALSE
;
BOOL
bHardDep
=
FALSE
;
BOOL
bFixedDep
=
FALSE
;
BOOL
bNewProject
=
FALSE
;
int
nCommandType
=
0
,
nOSType
=
0
;
Prj
*
pPrj
=
*
ppPrj
;
CommandData
*
pCmdData
;
static
SByteStringList
*
pStaticDepList
;
Prj
*
pPrj
;
SByteStringList
*
pDepList
=
NULL
;
ByteString
aCommentString
;
ByteString
sToken
;
ByteString
sStringBuffer
=
rTokenLine
;
switch
(
i
)
while
(
sStringBuffer
!=
ByteString
::
EmptyString
()
)
{
case
0
:
aPrefix
=
yytext
;
pStaticDepList
=
0
;
break
;
case
1
:
aDirName
=
yytext
;
aProjectName
=
aDirName
.
GetToken
(
0
,
0x5c
);
break
;
case
2
:
if
(
!
strcmp
(
yytext
,
":"
))
{
bPrjDep
=
TRUE
;
bHardDep
=
FALSE
;
bFixedDep
=
FALSE
;
i
=
9
;
}
else
if
(
!
strcmp
(
yytext
,
"::"
))
{
bPrjDep
=
TRUE
;
bHardDep
=
TRUE
;
bFixedDep
=
FALSE
;
i
=
9
;
}
else
if
(
!
strcmp
(
yytext
,
":::"
))
{
bPrjDep
=
TRUE
;
bHardDep
=
TRUE
;
bFixedDep
=
TRUE
;
i
=
9
;
}
else
{
bPrjDep
=
FALSE
;
bHardDep
=
FALSE
;
bFixedDep
=
FALSE
;
ByteString
sToken
=
sStringBuffer
.
GetToken
(
0
,
'\t'
);
sStringBuffer
.
Erase
(
0
,
sToken
.
Len
()
+
1
);
aWhat
=
yytext
;
nCommandType
=
GetJobType
(
aWhat
);
}
if
(
bPrjDep
)
{
if
(
HasProject
(
aProjectName
))
switch
(
i
)
{
case
0
:
if
(
sToken
.
Search
(
"#"
)
==
0
)
{
RemovePrj
(
GetPrj
(
aProjectName
));
// Projekt exist. schon, entfernen, spter neue anlegen
i
=
-
1
;
aCommentString
=
sToken
;
sStringBuffer
=
ByteString
::
EmptyString
();
if
(
Count
()
==
0
)
aDirName
=
"null_entry"
;
//comments at begin of file
}
}
break
;
case
3
:
if
(
!
bPrjDep
)
{
aWhat
=
yytext
;
if
(
aWhat
==
"-"
)
else
{
aCommandPara
=
ByteString
();
aPrefix
=
sToken
;
pDepList
=
0
;
}
else
aCommandPara
=
aWhat
;
}
break
;
case
4
:
if
(
!
bPrjDep
)
{
aWhatOS
=
yytext
;
if
(
aWhatOS
.
GetTokenCount
(
','
)
>
1
)
{
sClientRestriction
=
aWhatOS
.
Copy
(
aWhatOS
.
GetToken
(
0
,
','
).
Len
()
+
1
);
aWhatOS
=
aWhatOS
.
GetToken
(
0
,
','
);
break
;
case
1
:
aDirName
=
sToken
;
aProjectName
=
aDirName
.
GetToken
(
0
,
0x5c
);
if
(
aProjectName
!=
rProjectName
)
sStringBuffer
=
ByteString
::
EmptyString
();
// something is wrong, ignore line
break
;
case
2
:
if
(
sToken
.
CompareTo
(
":"
)
==
COMPARE_EQUAL
)
{
bPrjDep
=
TRUE
;
bHardDep
=
FALSE
;
bFixedDep
=
FALSE
;
i
=
9
;
}
nOSType
=
GetOSType
(
aWhatOS
);
}
break
;
case
5
:
if
(
!
bPrjDep
)
{
aLogFileName
=
(
ByteString
(
aProjectName
).
Append
(
"_"
)).
Append
(
yytext
);
}
break
;
default
:
if
(
!
bPrjDep
)
{
ByteString
aItem
=
yytext
;
if
(
aItem
==
"NULL"
)
else
if
(
sToken
.
CompareTo
(
"::"
)
==
COMPARE_EQUAL
)
{
// Liste zu Ende
i
=
-
1
;
bPrjDep
=
TRUE
;
bHardDep
=
TRUE
;
bFixedDep
=
FALSE
;
i
=
9
;
}
else
if
(
sToken
.
CompareTo
(
":::"
)
==
COMPARE_EQUAL
)
{
bPrjDep
=
TRUE
;
bHardDep
=
TRUE
;
bFixedDep
=
TRUE
;
i
=
9
;
}
else
{
// ggfs. Dependency liste anlegen und ergaenzen
if
(
!
pStaticDepList
)
pStaticDepList
=
new
SByteStringList
;
ByteString
*
pStr
=
new
ByteString
((
ByteString
(
aProjectName
).
Append
(
"_"
)).
Append
(
aItem
));
pStaticDepList
->
PutString
(
pStr
);
bPrjDep
=
FALSE
;
bHardDep
=
FALSE
;
bFixedDep
=
FALSE
;
aWhat
=
sToken
;
nCommandType
=
GetJobType
(
aWhat
);
}
}
else
{
ByteString
aItem
=
yytext
;
if
(
aItem
==
"NULL"
)
if
(
bPrjDep
)
{
// Liste zu Ende
i
=
-
1
;
bPrjDep
=
FALSE
;
if
(
pPrj
)
sStringBuffer
=
ByteString
::
EmptyString
();
// definition more than once or not first line, ignore line
}
else
break
;
case
3
:
if
(
!
bPrjDep
)
{
ByteString
sMode
;
BOOL
bHasModes
=
FALSE
;
if
(
aItem
.
Search
(
":"
)
!=
STRING_NOTFOUND
)
aWhat
=
sToken
;
if
(
aWhat
==
"-"
)
{
sMode
=
aItem
.
GetToken
(
0
,
':'
);
aItem
=
aItem
.
GetToken
(
1
,
':'
);
bHasModes
=
TRUE
;
aCommandPara
=
ByteString
();
}
else
aCommandPara
=
aWhat
;
}
break
;
case
4
:
if
(
!
bPrjDep
)
{
aWhatOS
=
sToken
;
if
(
aWhatOS
.
GetTokenCount
(
','
)
>
1
)
{
sClientRestriction
=
aWhatOS
.
Copy
(
aWhatOS
.
GetToken
(
0
,
','
).
Len
()
+
1
);
aWhatOS
=
aWhatOS
.
GetToken
(
0
,
','
);
}
nOSType
=
GetOSType
(
aWhatOS
);
}
break
;
case
5
:
if
(
!
bPrjDep
)
{
if
(
bExtendAlias
)
aLogFileName
=
(
ByteString
(
aProjectName
).
Append
(
"_"
)).
Append
(
sToken
);
else
aLogFileName
=
sToken
;
if
(
HasProject
(
aProjectName
))
}
break
;
default
:
if
(
!
bPrjDep
)
{
ByteString
aItem
=
sToken
;
if
(
aItem
==
"NULL"
)
{
pPrj
=
GetPrj
(
aProjectName
);
// Projekt exist. schon, neue Eintraege anhaengen
// Liste zu Ende
i
=
-
1
;
}
else
{
// neues Project anlegen
pPrj
=
new
Prj
(
aProjectName
);
pPrj
->
SetPreFix
(
aPrefix
);
Insert
(
pPrj
,
LIST_APPEND
);
// ggfs. Dependency liste anlegen und ergaenzen
if
(
!
pDepList
)
pDepList
=
new
SByteStringList
;
ByteString
*
pStr
;
if
(
bExtendAlias
)
pStr
=
new
ByteString
((
ByteString
(
aProjectName
).
Append
(
"_"
)).
Append
(
aItem
));
else
pStr
=
new
ByteString
(
aItem
);
pDepList
->
PutString
(
pStr
);
}
}
else
{
ByteString
aItem
=
sToken
;
if
(
aItem
==
"NULL"
)
{
// Liste zu Ende
i
=
-
1
;
bPrjDep
=
FALSE
;
}
if
(
bHasModes
)
pPrj
->
AddDependencies
(
aItem
,
sMode
);
else
pPrj
->
AddDependencies
(
aItem
);
pPrj
->
HasHardDependencies
(
bHardDep
);
pPrj
->
HasFixedDependencies
(
bFixedDep
);
/*
if ( nStarMode == STAR_MODE_RECURSIVE_PARSE ) {
String sItem( aItem, RTL_TEXTENCODING_ASCII_US );
InsertSolarList( sItem );
{
ByteString
sMode
;
BOOL
bHasModes
=
FALSE
;
if
(
aItem
.
Search
(
":"
)
!=
STRING_NOTFOUND
)
{
sMode
=
aItem
.
GetToken
(
0
,
':'
);
aItem
=
aItem
.
GetToken
(
1
,
':'
);
bHasModes
=
TRUE
;
}
if
(
!
pPrj
)
{
// neues Project anlegen
pPrj
=
new
Prj
(
aProjectName
);
pPrj
->
SetPreFix
(
aPrefix
);
bNewProject
=
TRUE
;
}
if
(
bHasModes
)
pPrj
->
AddDependencies
(
aItem
,
sMode
);
else
pPrj
->
AddDependencies
(
aItem
);
pPrj
->
HasHardDependencies
(
bHardDep
);
pPrj
->
HasFixedDependencies
(
bFixedDep
);
}
*/
}
}
break
;
break
;
}
if
(
i
==
-
1
)
break
;
i
++
;
}
/* Wenn dieses Project noch nicht vertreten ist, in die Liste
der Solar-Projekte einfuegen */
if
(
i
==
-
1
)
{
if
(
HasProject
(
aProjectName
))
{
pPrj
=
GetPrj
(
aProjectName
);
// Projekt exist. schon, neue Eintraege anhaengen
}
else
if
(
!
pPrj
)
{
// neues Project anlegen
pPrj
=
new
Prj
(
aProjectName
);
pPrj
->
SetPreFix
(
aPrefix
);
Insert
(
pPrj
,
LIST_APPEND
)
;
bNewProject
=
TRUE
;
}
if
(
bNewProject
)
Insert
(
pPrj
,
LIST_APPEND
);
pCmdData
=
new
CommandData
;
pCmdData
->
SetPath
(
aDirName
);
pCmdData
->
SetCommandType
(
nCommandType
);
pCmdData
->
SetCommandPara
(
aCommandPara
);
pCmdData
->
SetOSType
(
nOSType
);
pCmdData
->
SetLogFile
(
aLogFileName
);
pCmdData
->
SetComment
(
aCommentString
);
pCmdData
->
SetClientRestriction
(
sClientRestriction
);
if
(
p
Static
DepList
)
pCmdData
->
SetDependencies
(
p
Static
DepList
);
if
(
pDepList
)
pCmdData
->
SetDependencies
(
pDepList
);
p
Static
DepList
=
0
;
pDepList
=
0
;
pPrj
->
Insert
(
pCmdData
,
LIST_APPEND
);
aDirName
=
""
;
aWhat
=
""
;
aWhatOS
=
""
;
sClientRestriction
=
""
;
aLogFileName
=
""
;
nCommandType
=
0
;
nOSType
=
0
;
}
i
++
;
// und wer raeumt die depLst wieder ab ?
// CommandData macht das
// und wer raeumt die depLst wieder ab ?
// CommandData macht das
}
else
{
if
(
!
pPrj
)
{
// new project to set the error flag
pPrj
=
new
Prj
(
rProjectName
);
pPrj
->
SetPreFix
(
aPrefix
);
bNewProject
=
TRUE
;
}
if
(
pPrj
)
{
pPrj
->
SetError
();
if
(
bNewProject
)
Insert
(
pPrj
,
LIST_APPEND
);
// add project even if there is a buildlist error
}
if
(
pDepList
)
delete
pDepList
;
}
*
ppPrj
=
pPrj
;
}
/*****************************************************************************/
...
...
@@ -2572,19 +2596,7 @@ USHORT StarWriter::Read( String aFileName, BOOL bReadComments, USHORT nMode )
while
(
aFileList
.
Count
())
{
String
ssFileName
=
*
aFileList
.
GetObject
((
ULONG
)
0
);
ByteString
sFileName_l
(
ssFileName
,
RTL_TEXTENCODING_ASCII_US
);
StarFile
*
pFile
=
new
StarFile
(
ssFileName
);
if
(
pFile
->
Exists
())
{
// if (sFileName_l.Len() >= RTL_CONSTASCII_LENGTH(XML_EXT) && ssFileName.EqualsAscii(XML_EXT, sFileName_l.Len() - RTL_CONSTASCII_LENGTH(XML_EXT), RTL_CONSTASCII_LENGTH(XML_EXT)))
// {
// ReadXmlBuildList(sFileName_l);
// } else {
SimpleConfig
aSolarConfig
(
ssFileName
);
while
((
aString
=
aSolarConfig
.
GetCleanedNextLine
(
bReadComments
))
!=
""
)
InsertTokenLine
(
aString
);
}
// }
StarFile
*
pFile
=
ReadBuildlist
(
ssFileName
,
bReadComments
,
FALSE
);
aMutex
.
acquire
();
aLoadedFilesList
.
Insert
(
pFile
,
LIST_APPEND
);
aMutex
.
release
();
...
...
@@ -2608,21 +2620,7 @@ USHORT StarWriter::Read( SolarFileList *pSolarFiles, BOOL bReadComments )
while
(
pSolarFiles
->
Count
())
{
ByteString
aString
;
String
ssFileName
=
*
pSolarFiles
->
GetObject
((
ULONG
)
0
);
ByteString
sFileName_l
(
ssFileName
,
RTL_TEXTENCODING_ASCII_US
);
StarFile
*
pFile
=
new
StarFile
(
ssFileName
);
if
(
pFile
->
Exists
())
{
// if (sFileName_l.Len() >= RTL_CONSTASCII_LENGTH(XML_EXT) && ssFileName.EqualsAscii(XML_EXT, sFileName_l.Len() - RTL_CONSTASCII_LENGTH(XML_EXT), RTL_CONSTASCII_LENGTH(XML_EXT)))
// {
// ReadXmlBuildList(sFileName_l);
// }
// else
// {
SimpleConfig
aSolarConfig
(
ssFileName
);
while
((
aString
=
aSolarConfig
.
GetCleanedNextLine
(
bReadComments
))
!=
""
)
InsertTokenLine
(
aString
);
// }
}
StarFile
*
pFile
=
ReadBuildlist
(
ssFileName
,
bReadComments
,
FALSE
);
aMutex
.
acquire
();
aLoadedFilesList
.
Insert
(
pFile
,
LIST_APPEND
);
aMutex
.
release
();
...
...
@@ -2803,217 +2801,12 @@ USHORT StarWriter::WriteMultiple( String rSourceRoot )
}
/*****************************************************************************/
void
StarWriter
::
InsertTokenLine
(
ByteString
&
rString
)
void
StarWriter
::
InsertTokenLine
(
const
ByteString
&
rTokenLine
)
/*****************************************************************************/
{
int
i
=
0
;
ByteString
aWhat
,
aWhatOS
,
sClientRestriction
,
aLogFileName
,
aProjectName
,
aPrefix
,
aCommandPara
;
static
ByteString
aDirName
;
BOOL
bPrjDep
=
FALSE
;
BOOL
bHardDep
=
FALSE
;
BOOL
bFixedDep
=
FALSE
;
int
nCommandType
=
0
,
nOSType
=
0
;
CommandData
*
pCmdData
;
SByteStringList
*
pDepList2
=
NULL
;
Prj
*
pPrj
;
ByteString
aEmptyString
;
ByteString
aToken
=
rString
.
GetToken
(
0
,
'\t'
);
ByteString
aCommentString
;
const
char
*
yytext
=
aToken
.
GetBuffer
();
while
(
!
(
aToken
==
aEmptyString
)
)
{
switch
(
i
)
{
case
0
:
if
(
rString
.
Search
(
"#"
)
==
0
)
{
i
=
-
1
;
aCommentString
=
rString
;
rString
=
aEmptyString
;
if
(
Count
()
==
0
)
aDirName
=
"null_entry"
;
//comments at begin of file
break
;
}
aPrefix
=
yytext
;
pDepList2
=
NULL
;
break
;
case
1
:
aDirName
=
yytext
;
break
;
case
2
:
if
(
!
strcmp
(
yytext
,
":"
))
{
bPrjDep
=
TRUE
;
bHardDep
=
FALSE
;
bFixedDep
=
FALSE
;
i
=
9
;
}
else
if
(
!
strcmp
(
yytext
,
"::"
))
{
bPrjDep
=
TRUE
;
bHardDep
=
TRUE
;
bFixedDep
=
FALSE
;
i
=
9
;
}
else
if
(
!
strcmp
(
yytext
,
":::"
))
{
bPrjDep
=
TRUE
;
bHardDep
=
TRUE
;
bFixedDep
=
TRUE
;
i
=
9
;
}
else
{
bPrjDep
=
FALSE
;
bHardDep
=
FALSE
;
bFixedDep
=
FALSE
;
aWhat
=
yytext
;
nCommandType
=
GetJobType
(
aWhat
);
}
break
;
case
3
:
if
(
!
bPrjDep
)
{
aWhat
=
yytext
;
if
(
aWhat
==
"-"
)
{
aCommandPara
=
ByteString
();
}
else
aCommandPara
=
aWhat
;
}
break
;
case
4
:
if
(
!
bPrjDep
)
{
aWhatOS
=
yytext
;
if
(
aWhatOS
.
GetTokenCount
(
','
)
>
1
)
{
sClientRestriction
=
aWhatOS
.
Copy
(
aWhatOS
.
GetToken
(
0
,
','
).
Len
()
+
1
);
aWhatOS
=
aWhatOS
.
GetToken
(
0
,
','
);
}
nOSType
=
GetOSType
(
aWhatOS
);
}
break
;
case
5
:
if
(
!
bPrjDep
)
{
aLogFileName
=
yytext
;
}
break
;
default
:
if
(
!
bPrjDep
)
{
ByteString
aItem
=
yytext
;
if
(
aItem
==
"NULL"
)
{
// Liste zu Ende
i
=
-
1
;
}
else
{
// ggfs. Dependency liste anlegen und ergaenzen
if
(
!
pDepList2
)
pDepList2
=
new
SByteStringList
;
pDepList2
->
PutString
(
new
ByteString
(
aItem
));
}
}
else
{
ByteString
aItem
=
yytext
;
if
(
aItem
==
"NULL"
)
{
// Liste zu Ende
i
=
-
1
;
bPrjDep
=
FALSE
;
}
else
{
ByteString
sMode
;
BOOL
bHasModes
=
FALSE
;
if
(
aItem
.
Search
(
":"
)
!=
STRING_NOTFOUND
)
{
sMode
=
aItem
.
GetToken
(
0
,
':'
);
aItem
=
aItem
.
GetToken
(
1
,
':'
);
bHasModes
=
TRUE
;
}
aProjectName
=
aDirName
.
GetToken
(
0
,
0x5c
);
if
(
HasProject
(
aProjectName
))
{
pPrj
=
GetPrj
(
aProjectName
);
// Projekt exist. schon, neue Eintraege anhaengen
}
else
{
// neues Project anlegen
pPrj
=
new
Prj
(
aProjectName
);
pPrj
->
SetPreFix
(
aPrefix
);
Insert
(
pPrj
,
LIST_APPEND
);
}
if
(
bHasModes
)
pPrj
->
AddDependencies
(
aItem
,
sMode
);
else
pPrj
->
AddDependencies
(
aItem
);
pPrj
->
HasHardDependencies
(
bHardDep
);
pPrj
->
HasFixedDependencies
(
bFixedDep
);
/*
if ( nStarMode == STAR_MODE_RECURSIVE_PARSE ) {
String sItem( aItem, RTL_TEXTENCODING_ASCII_US );
InsertSolarList( sItem );
}
*/
}
}
break
;
}
/* Wenn dieses Project noch nicht vertreten ist, in die Liste
der Solar-Projekte einfuegen */
if
(
i
==
-
1
)
{
aProjectName
=
aDirName
.
GetToken
(
0
,
0x5c
);
if
(
HasProject
(
aProjectName
))
{
pPrj
=
GetPrj
(
aProjectName
);
// Projekt exist. schon, neue Eintraege anhaengen
}
else
{
// neues Project anlegen
pPrj
=
new
Prj
(
aProjectName
);
pPrj
->
SetPreFix
(
aPrefix
);
Insert
(
pPrj
,
LIST_APPEND
);
}
pCmdData
=
new
CommandData
;
pCmdData
->
SetPath
(
aDirName
);
pCmdData
->
SetCommandType
(
nCommandType
);
pCmdData
->
SetCommandPara
(
aCommandPara
);
pCmdData
->
SetOSType
(
nOSType
);
pCmdData
->
SetLogFile
(
aLogFileName
);
pCmdData
->
SetComment
(
aCommentString
);
pCmdData
->
SetClientRestriction
(
sClientRestriction
);
if
(
pDepList2
)
pCmdData
->
SetDependencies
(
pDepList2
);
pPrj
->
Insert
(
pCmdData
,
LIST_APPEND
);
}
i
++
;
rString
.
Erase
(
0
,
aToken
.
Len
()
+
1
);
aToken
=
rString
.
GetToken
(
0
,
'\t'
);
yytext
=
aToken
.
GetBuffer
();
}
// und wer raeumt die depLst wieder ab ?
// macht CommandData selber
ByteString
sProjectName
=
rTokenLine
.
GetToken
(
1
,
'\t'
);
Prj
*
pPrj
=
GetPrj
(
sProjectName
);
// 0, if Prj not found;
Star
::
InsertTokenLine
(
rTokenLine
,
&
pPrj
,
sProjectName
,
sal_False
);
}
/*****************************************************************************/
...
...
soldep/inc/soldep/prj.hxx
Dosyayı görüntüle @
4c6037df
...
...
@@ -287,6 +287,7 @@ private:
SDepInfoList
*
RemoveDepInfoList
(
SDepInfoList
*
pInfoList
);
PrjList
*
pTempCommandDataList
;
BOOL
bTempCommandDataListPermanent
;
BOOL
bError
;
public
:
Prj
();
Prj
(
ByteString
aName
);
...
...
@@ -329,6 +330,9 @@ public:
void
SetTempCommandDataListPermanent
(
BOOL
bVar
=
TRUE
)
{
bTempCommandDataListPermanent
=
bVar
;}
BOOL
IsTempCommandDataListPermanent
()
{
return
bTempCommandDataListPermanent
;}
void
SetError
(
BOOL
bVar
=
TRUE
)
{
bError
=
bVar
;}
BOOL
HasError
()
{
return
bError
;}
Prj
&
operator
<<
(
SvStream
&
rStream
);
Prj
&
operator
>>
(
SvStream
&
rStream
);
};
...
...
@@ -396,6 +400,7 @@ protected:
void
Expand_Impl
();
void
ExpandPrj_Impl
(
Prj
*
pPrj
,
Prj
*
pDepPrj
);
ULONG
SearchFileEntry
(
StarFileList
*
pStarFiles
,
StarFile
*
pFile
);
void
InsertTokenLine
(
const
ByteString
&
rToken
,
Prj
**
ppPrj
,
const
ByteString
&
rProjectName
,
const
sal_Bool
bExtendAlias
=
sal_True
);
public
:
Star
();
...
...
@@ -421,7 +426,7 @@ public:
BOOL
RemovePrj
(
Prj
*
pPrj
);
void
RemoveAllPrj
();
void
InsertToken
(
char
*
pChar
);
StarFile
*
ReadBuildlist
(
const
String
&
rFilename
,
BOOL
bReadComments
=
FALSE
,
BOOL
bExtendAlias
=
TRUE
);
BOOL
NeedsUpdate
();
SolarFileList
*
NeedsFilesForUpdate
();
void
ReplaceFileEntry
(
StarFileList
*
pStarFiles
,
StarFile
*
pFile
);
...
...
@@ -472,7 +477,7 @@ public:
USHORT
Write
(
String
aFileName
);
USHORT
WriteMultiple
(
String
rSourceRoot
);
void
InsertTokenLine
(
ByteString
&
rString
);
void
InsertTokenLine
(
const
ByteString
&
rTokenLine
);
};
#endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment