Major change into libGPR2 and GPRTools, all APIs previously
using Attribute_Id and/or Package_Id/Attribute_Id are now
using the combined qualified name Q_Attribute_Id in order
to unify APIs usage.
Few exceptions exist when retriving Attributes from a named
Package.
As Q_Attribute_Id is now used all over libGPR2, the list of
Attribute_Id constants was removed and a list of Q_Attribute_Id
constants can now be found at the same place. This was done
to simplify APIs call by providing defined and registered
attributes qualified name.
V720-027 :
When users are adding attributes without adding a package first
this package is not taken into account when launching Validity_Check.
We cannot make the assumption on which kind of project this package
is authorized to be in, so we are adding a precondition.
We now raise an ASSERTION_ERROR when trying to add an attribute
in a unknown package.
TN: V725-008
TN: V720-027
Change-Id: I3807ac993002c308021f082c7ba034cc371563cc
no-precommit-check
This patch is rejected by the "Copyright notice must include current
year" check, we actually want to preserve the copyright years here.
TN: V822-021
Change-Id: Iad42ad0863f12d7a3c714855287c5996581910b6
Add warnings or errors when:
* --target is specified with an explicit config project. If the config
target is different it issues an error, else it issues a warning.
* if Target attribute is set and different from the configuration, issue
a warning.
This change also removes the Target field in the Configuration object, as
it is not used (and wrong when an explicit config project is defined).
Follow-up of V303-028.
Change-Id: If1d232ef3cf38618ccda1d9f8562b08abf85caed
This change, initially just meant to have Switches and Default_Switches
actual aliases, found out issues with handling FileGlob_Or_Language index
casing when the host uses case sensitive fs.
So finally this change modifies the way indexes are defined, removing some
duplicated definitions and now relying on index_type to handle casing.
To differentiate between Languages and FileGlob for attributes accepting
both, a loosy algorithm is defined:
- names with extensions or containing blob special characters [|]*? are
supposed to be source files or blobs
- other values are supposed to be languages (no casing).
Finally, FileGlob_Or_Language checks for the source's language if no
index matches the source's simple name.
TN: V203-012
Change-Id: I37a54683de2c40bead611fefeae0d65d350e2bca
Depends-On: I8cde580844a5333991316f86aaa460fa2e542979
And in the process remove the use case where package name is undefined (this
case is never tested or used).
no-tn-check
Change-Id: I97c4baff5e36617a37911b4e86ff6cf653317f0c
The new representation allows multiple attribute with the same
name but with different index.
Part of P113-046.
Change-Id: I7566bf69a1b41903b58e63af11c8579a165ea88d
Indeed an attribute's index can be a language but it can also be a
filename or a unit name.
Part of P113-046.
Change-Id: I85556e70a6ceb9a01f3ad6b2adcb901672654b9f
That is the Qualifier is the actual string explicitly placed before
the reserved work project on the source file. Then on a project view
we use the term Kind which is more generic and it may or may not be
the same as the qualifier. The project kind is determined from
looking at the project content if the qualifier is not present.
Part of P113-046.
Change-Id: Idc3128412076af86ca3b386b9e7c3a61f0a725ee