NMFCode / NMF

This repository contains the entire code for the .NET Modeling Framework
BSD 3-Clause "New" or "Revised" License
36 stars 15 forks source link

Expressions.Test build issues #36

Closed locsius closed 5 years ago

locsius commented 6 years ago

Hello!

I was having issues building this project when I built the entire solution after checking it out from github. It was giving me grief about the .tt files, so I removed the clarius reference and added the following to the top of the .csproj:

C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0\TextTemplating

now it works by dotnet msbuild and from the solution.

Thanks - scott

georghinkel commented 6 years ago

Hi,

yeah, there have been a range of problems attached to include the execution of text templates into the build process. Unfortunately, these problems are not really solved yet, so that I am thinking about checking the generated code files into the repository in order to avoid those problems.

As a reason, the path to the text templating tools are no longer agnostic of Visual Studio. Rather, as you see at the path you posted, the path depends on the Visual Studio version (and even edition) you use.

Best,

Georg

locsius commented 6 years ago

Right on - thanks for the info. Nice product!

georghinkel commented 6 years ago

Just of curiosity: Can you tell me what you are using NMF for and in particular which parts of it? Only the model representation or also the incrementalization system, the transformation engine or even the synchronization engine?

locsius commented 6 years ago

Hey Geoge -

So I started off wanting to use NMF to convert ecore to something I could deal with in .net. It worked fine for a few UML DDD models that I put together, so that was great. However, now I'm messing around with this jUCMNav and TouchCore software that's being made at McGill -- have you seen it? My end goal is to be able to take the models created from these apps and generate a .net core system that works.

What sounds interesting to you these days?

-se

On Sat, Mar 3, 2018 at 5:31 PM, Georg Hinkel notifications@github.com wrote:

Just of curiosity: Can you tell me what you are using NMF for and in particular which parts of it? Only the model representation or also the incrementalization system, the transformation engine or even the synchronization engine?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/NMFCode/NMF/issues/36#issuecomment-370185164, or mute the thread https://github.com/notifications/unsubscribe-auth/AdR6M9I_AqC03cc-k9sgvMOAMRDy1z3Rks5taxnBgaJpZM4SSBK5 .

georghinkel commented 6 years ago

Hi,

yes, I have seen TouchCore. It is not too long ago that we had Jörg Kienzle as a guest researcher in our group. Would be very nice to be able to use it as an editor for NMF, because NMF itself currently does not have an editor at all.

For the purpose, I guess the effort to do that will depend on whether the resulting model should be executable alone or to be extended with custom logic or not. The current code generator in NMF basically does not add any executable behavior except for things implied by the metamodel structure (e.g. to implement bidirectional references and compositions, but also to implement notifications). However, the code generator is actually available as a library and gives you a fully modifiable code model and a trace how metamodel elements have been transformed.

Because you asked, the most interesting use cases for me are those that really use NMFs ability to execute model transformations or analyses in an incremental manner by creating a dynamic dependency graph.

Best,

Georg

mcintyre321 commented 6 years ago

I'm having a problem where the t4s are being run by VS, including the TestGenerationSettings.t4 file which is an import for other templates.

That TestGenerationSettings.t4 doesn't run as a standalone T4 template.

locsius commented 6 years ago

Hi Georg - Sorry this got caught in spam... I did have a go with the generation system you have and now I'm actually rolling my own with Rosslyn when I have the time. I've been sidetracked into a large devops roll-out that I have been doing in Terraform - it would be nice to see how this could be applied to optimising large cloud roll-outs.

Keep it up! se

On Thu, Mar 15, 2018 at 6:07 AM, Harry McIntyre notifications@github.com wrote:

I'm having a problem where the t4s are being run by VS, including the TestGenerationSettings.t4 file which is an import for other templates.

That TestGenerationSettings.t4 doesn't run as a standalone T4 template.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/NMFCode/NMF/issues/36#issuecomment-373324267, or mute the thread https://github.com/notifications/unsubscribe-auth/AdR6M4VoUifqeZpbcMFmyiXHIu-whpYPks5tej1JgaJpZM4SSBK5 .

georghinkel commented 6 years ago

@mcintyre321 What is the problem that the TestGenerationSettings.t4 does not run as a standalone T4 template?

mcintyre321 commented 6 years ago

You get this when you download and build in a standard VS2017 instance:

image

I think it's because VS by default tries to run all transforms on build, including the shared logic one, which isn't a self contained, runnable template.

georghinkel commented 6 years ago

Hm, I recently also had to setup a new VS 2017 as I changed my machine. However, I cannot reproduce this issue.

The only thing that I can imagine: I vaguely remember that somebody said that the DSL tools (which I have installed locally) are changing some things in the T4 engine. You could try this. It is installable simply through the VS installer, but you have to look for it in the single components list, it is not included in a workflow.

georghinkel commented 5 years ago

Closing as cannot reproduce