2016-07-01 2 views
0

IBM Rational Rhapsody에 지정된 인터페이스 용 코드를 생성하고 있습니다. Rhapsody는 내 인터페이스에서 사용되는 다른 데이터 유형에 대한 include 문을 암시 적으로 생성합니다. 그러나 include 문에 대해 더 많은 제어권을 갖고 싶습니다. 따라서이 요소를 구성 요소의 소스 아티팩트에 텍스트 요소로 명시 적으로 지정했습니다. 따라서 랩소디가 include 문을 생성하지 못하도록하고 싶습니다. 이것이 가능한가?랩소디 코드 생성시 암시 적 include 문을 피하는 방법

답변

0

마지막으로 Rhapsody가 필요한 요소 인 : 여러 요소의 경우 GenerateImplicitDependencies, Type 요소의 경우 GenerateDeclarationDependency을 생성하는 속성을 발견했습니다. 이러한 옵션을 사용하지 않으면 암시 적 include 문이 생성되지 않습니다.

0

이 작업을 수행 할 수있는 경우 속성이있을 가능성이 큽니다. 기능 상자에서 속성을 클릭하고 '포함'을 기준으로 필터링하여 가능성있는 후보를 봅니다. 모든 부동산에 행운이 정확히 무엇인지에 대한 설명이있는 것은 아닙니다.

는 편집 :

은 나뿐만 아니라 당신이 원하는 것을 얻기 위해 하나를 찾을 수 없습니다 속성을 통해보고 약간의 시간을 보냈다. 랩소디의 기본 버전으로는 이것을 할 수 없을 것 같습니다. IBM은 Rules Composer라고 불리는 코드 생성을 사용자 정의하기 위해 애드온을 라이센스합니다 (필자는 생각합니다). 이것은 거의 확실히 당신이 포함하는 것을 사용자 정의하는 것을 허락 할 것이지만 상당히 비용이들 것입니다.

다른 두 가지 접근법이 있습니다. include 문을 커스터마이징하는 방법에 따라 아마도 sed을 사용하여 간단한 쉘 스크립트를 작성한 다음 Rhapsody가 스크립트를 생성 할 때마다 해당 스크립트를 실행하여 코드를 업데이트 할 수 있습니다.

다른 접근법은 Rhapsody API를 사용하여 모든 인터페이스를 반복하고 이에 따라 소스 아티팩트를 변경하는 플러그인/도구를 만드는 것입니다. 이 방법을 직접 시도하지는 않았지만 동료가 API를 사용하여 비슷한 작업을 수행하고 있음을 알고 있습니다.

+0

나는 이미 이것을했으나 필요한 것을하는 속성을 찾지 못했습니다. (어쩌면 올바른 것은 다르게 부름을 받았기 때문에 놓쳤습니다). –