 Welcome. This is pipe, the pipeline help project is part of she code Africa contribute thighs the 28th of April, 2022 topics I had questions and answers. And then any progress report and status discussion that you want to do. What other topics would you like to include on the list Sophia or Abbie offy. I think that's fine for now. Okay, great. So, go ahead. And you were going to figure out how we could find how we could find help pipeline help like places that need pipeline help. Good. Okay. So let's, let's talk through those. How to find. Okay, so let's, and let's do that. Good. Okay, yes, so let's let's work through that I think that feels like a good thing to work through together as, as an example of how do we find those locations and how do we, how do we explore them and decide which one to work on is that a fair thing to do. Yes, please. Okay. All right, so let's bring up. Let's see back to the steps here so we do a build modify. All right so most frequently commented pages so for instance let's where is my pivot table this one. Okay, good. And I've suggested that the things that now we had, we had done a number so I'm just going to take some, and let's pick HTML publisher, plug in. So here it has a step called publish HTML, and there's not a lot of help on this page right it doesn't show us a okay tells us the name of the report, but it doesn't give us any example in the in the top level help. It does have help text for many of the of the arguments so that's that's a plus the arguments have some help includes does not have any help so that's when we could probably help. We could add more help to so if you're okay let's take this one HTML publisher and see what we can what we can learn about it. So first it helps me if I install this plug in on my Jenkins. So I'm going to open up the Jenkins that I've got running oops wrong one, the Jenkins that I've got running. And I'm going to go to the plug in manager and install the HTML publishing plug in. So, manage plugins available. Publish, whoops, publish. Oh there it is HTML, oh it's already installed. Good. Okay, so I've got it. All right, so since it's already installed. I should just be able to use pipeline syntax generator. So one way to get to the pipeline syntax generator is just on the end of the URL but slash pipeline syntax. And now the keyword was publish HTML. So if I go here. Publish HTML. Okay. And it gives some initial. Yeah so notice there's no help on include files. The others seem to have some help but there's no example up here at the top either. Whereas if I look at the get step. It has help right here at the very top. Publish HTML did not. So let's go see if we can find a way to add top level help to publish HTML. Where is publish HTML. So we want to add a question mark immediately to the right hand side of this publish HTML step. Fair enough so far. Yes. Okay. All right. So the simplest way I can think of is let's go looking for in the plug in source code. Let's go looking for that publish HTML. Okay, so in the read me file it's mentioned and here is the step. Here is the test of the step. So let's see the thing that has this in it is this thing. So here is publish HTML step. Okay, so we've found something that needs help. And this thing I think, oh, let's go to the master branch. I think we want to build this plug in locally and do some experiments with it. So let's try that. I'm going to copy this. I'm going to go ahead and put it on to my local computer. And I don't think I've already got it. I don't so gh repo clone. Oh, let's see is that text readable enough should I make the text larger. Great. So gh repo clone. That repository and gh repo clone likes to know an organization name and that. Okay, so now when I look at what it's what I have it says, it knows about Jenkins CI and I am going to say gh repo fork. Okay, that was a question I think was wondering if that was a fork or the original repo. Good question. And so no, this was this was this is me using the the I started with the origin with the upstream repository, and I did the fork using gh repo fork. Now what we see is gh remote minus V will show us origin is mark weights and upstream is HTML publisher. Or is Jenkins CI. So now if we look for publish HTML. There is that place that I think we want to put somehow we want to connect the help to that thing. Now, now part of this is an investigation process. Where's the existing help that we already have for example. Where is this text in the repository and one way to help myself when somebody's already started this process as I go find that thing. So the path to the HTML report director report directory relative. So if I do a get grip for that. Notice, look at the, this the path name here source main resources. HTML publisher HTML publisher target, help repo reporter interesting. Okay, so is there one of these. That directory HTML publisher target. So the reason the reason I'm perplexed. Maven based projects, use a convention to where they place things. And I was expecting get this HTML publisher target to be somewhere in the code. Oh, and there it is good. Okay. So when I look at this thing. What do I hmm interesting. Well, we're going to try some experiments. All I know how to do is experiment here so let's back to what we were looking for. We found this thing is where that help is located. So what I would expect to do is to create a file. So, here's back to what we had help for a sub component is is in that file so this HTML directory to archive is here. And notice it's named help dash report there. And to do help for the very top level, it's just help dot HTML. So I think what I want to do is create this thing, copy that thing to that thing and call it like this. And now when I edit this help dot HTML file. What should we say we should probably say something actually useful about publish HTML. So what does it say on the plug insight it says something like that. And so the help should say something like that as well. Okay, so this is me. Sorry, sorry, there was Joseph. Oh, did I make a fixed let's fix that. Thank you. Yeah, just to. Yes, you're right. Yeah, sorry. Thank you. Good. Now, now, Afi and Sophia, I want you noted to notice what just happened here, a native French speaker just corrected the spelling of an of a native English speaker well done Bruno I like that. There's, there are lots of things we can learn together so thanks very much good catch excellent. That was much better I like that. The HTML publisher plugin publishes HTML reports that your bill generates is generates to good. All right, so we'll, we'll call that for now. And I'm going to do a get add to say I think this is ready. Now I need to build this thing. And I'm going to build it sort of the fast way actually I, I have an even better way I'm going to build it and run it. I'm going to be with a simplified version of the whole Jenkins controller. Am I right. Exactly. So what I'm going to do is I'm going to, I'm going to with a single command compile the plug in and start a Jenkins instance that I can use. Now this may be complicated in my, in my case because you will have to specify the port. Isn't it already taken by your instance of Jenkins. In my case I hope I don't have one running here because this particular computer isn't running Jenkins at the moment. So, but that's a good point. I would probably have to say some let's choose a different port just in case. Let's try that. So now it's, it's, it's preparing and downloading components that it needs. I could have certainly reduced the noise here by using the minus NTP option minus no transfer progress option, but sorry you'll just have to endure that noise. This will skip the tests now really before I submit a pull request it would be better if I didn't skip the tests. But let's see if I can get to it now. Because I'm not sure if I gave the right command to allow it to listen to me we're going to try it though. Nope. Oh no it was 90 90 yeah right use the correct port number 90 90. Nope. Okay so now I've got to find a little more trickery because I'm multi computer, or let's just do the same change but we'll do it on my windows computer so that I don't have to do this. I'm going to commit minus a minus V add top level help for pipeline. Okay so far. Yeah. Okay now I'm going to get oops, shame on me. Look at this. I committed it to the master branch I should have committed to a different branch shame shame shame shame. So add top level pipeline help. And now if we look at it it will say, hey there's a branch at top of top of a pipeline help and here's my mistake. I need to fix my mistake. So what this is doing is I'm checking out the master branch, and I'm going to force it back to what it was before. And now I'm going to check out the branch where I did the real work. And here we go. What you see now is just my new addition, and I haven't touched the master branch so the, the first rule is, please don't put your commits on the master branch. That's, that should be your reference copy of everybody else's stuff. Any questions about that one. Okay. Okay, so if you go ahead. I don't have any questions. Okay, okay, so I just had a little question on the, on the branches are created. Is there a convention for like creating a branches or something. You could just look at the sample ones have been done and go according to that same convention, because I could see it's mostly in lower case and separated with them. There, there isn't really any convention other than the one you choose, whatever makes sense for your, your naming you can name them any way you would like. Those of us who are English language generally prefer that it not have accident characters in it. But, but even that I think you're even allowed to use utf eight characters in them so you could use any name and you could use underscores dashes by capitalized whatever convention works for you. It's only for your benefit it really doesn't matter to anyone else. Okay, and Mark, should we for that kind of features, use the feature branches from GitHub, or if they're a common within GH would help us name that feature we're working on. Oh, that's a good question yeah I've never. So what Bruno is alluding to is there's a concept of, of feature branches. In GitHub, or is it in GitHub I know there's a concept of feature branches in the community. And, and I'm just not sure you're not going to get her yes you're right I think it's pure kids. Yeah, so, so there is a concept there, there are naming conventions and Bruno alludes to one of those naming conventions, where you you may say feature slash some description or you might say bug fix slash something or chore slash something. And what that does is that helps people understand or helps you understand what the purpose of that branch is so that's that's a good point as well and I could have done that also. Then it would be something like this right we would say get branch minus M. But I think this is documentation so we're going to call it docs slash. And so now what we see is docs slash add top level pipeline help is my thing and that left to the left side of the slash is telling me what kind of commit this is. And if I were adding a brand new feature it might be feature slash something. Did I describe it well enough Bruno is there more you'd like to share. That was perfect. Okay. And thank you because without your explanation I would have just muddied the water. So it was much needed thank you. And that's a that's truly a great thing to remember is that branch names are for your benefit but sometimes we can use the branch names to communicate something to others as well, and this feature branch naming thing can help. Some projects you're on may tell you please use use such and such a convention. Good very good. So I'm going to push this up to, I'm going to push this up to my to GitHub in my fork. I can use it from my Windows computer because I'm going to redo this on my Windows computer. So, get push set up so I said get push. And that's not enough. So it tells me what the rest is and it says get push set upstream that. And now if I wanted to immediately make the poll make the poll request I could do it, because it's told me, Hey, here's a hint. If you want to create a poll request do this, and I'm going to do it so that the poll request can be processed in parallel to our experiments on Windows you probably shouldn't do this, because you may, you may not be ready for a poll request yet but I'm going to go ahead and do it just because it's an easy thing to do for right now and let the CI server help us. Okay, so add top level help for pipeline. Okay, and I haven't done tests so I have to not do that. Okay, so I'm going to go ahead and submit this poll request so I did do it from a feature branch, not the main branch because the main branches named master. No represents what I want to do describe what I did oops no I haven't described what I did add a top top level help entry entry to pipeline. No relevant issues to link so nothing I need to link there and pull request so I'm ready to commit that create that this will now start the continuous integration evaluation process. So that's happening. I'm going to go create. I'm going to go get myself a local copy here that we can do some testing with. Come on get. Okay fine just a minute I have to it's Windows I have to start my git bash this way. There we go. Let's hide some things away is that text, big enough for you to see it. It's a little small for me options tech size. Let's go 14 point. Is that better. Yeah. Okay. All right, so back to the way we clone this repository. We need, and I can use GH on Windows, just as easily as I can use it on Linux. So GH repo clone. Don't you want to start from your own fork. I could. I've actually found that if I do it from clone and then do a fork, I like the result just fine, but I could do a clone. It's a good question. Shall we try it. Let's try mine. Okay, for me it's worked. This this pattern of cloning the original. GH repo fork is an easy pattern for me to remember. Oh, and I'm in those so I have to do on Windows it warns me you have to do something different and I have to say men TTY GH repo fork. Nope, that wasn't it. Just a minute. Let's see GH help. Men TTY, because there's a little bit of an add on that. Oh, there it is when PTY that's the one that I needed to do when PTY GH repo fork. And there it is. So get removal minus you. So it inevitably the tools tell you, oh read this in order to figure it out. So I read that and it tells me use when PTY GH repo fork. So now I have this one and I want to do a GH PR list. Okay, there's my poll request so I could do a GH PR checkout 190 that's one way to do it or I could have done get checkout minus be etc. I've got it. Now let's build it. Maven clean Jenkins that version equals 2.344 HP I colon run. So what this is going to do is run Jenkins on my local computer with a copy of HTML publisher plugin loaded, and it's with my changes in it so we should be able to see if I actually got top level pipeline help at it or not. I don't have a computer. Don't you have already Jenkins version running on port 8080. I do not this is my windows desktop, and I don't run windows. I don't run Jenkins on my windows desktop because my desktop is very busy doing other things. Okay, okay. But let's let's check that while we're waiting, because I could be wrong and if I am will know very soon. Local host 8080. Yeah, I like that. Okay, so. And it says failed to find Oh no no no no no, you were right Bruno it is running. Okay now I have to find a way to stop Jenkins on Oh, let's how did we do it before we said let's use a different port number. Let's see if this will work for us. Okay, hasn't died yet. So that looks promising. So let's try it local host port 9090. And there it is it says if I click slice Jenkins, it should take me there. And here's Jenkins. Okay, so. Now how do I see my help pipeline syntax. Let's see if that will work for me. Okay, HTML, there's publish HTML, but still no question mark. Okay, so my pull request didn't work. Right. Okay, so maybe I need to put it somewhere else or put it somehow differently. So now we get to do some exploring. First let's prove can I change anything and make it visible. So I'm going to grab this text. I'm going to go find that text with my favorite little text editor. And we're going to change that and see if that changes, just to be sure that we're actually able to change something. Oh silly thing, just a minute. Where is my editor there is obviously I don't do enough development on Windows just a minute. So let's go find that. Okay computer. No, my editor is not configured I'm going to have to do it the hard way. Just a minute let's start another get and we'll answer it there. And what was the text I needed to find it was something like this case so the one that I want is HTML publisher target. Like that. Okay, so here is my handy little editor you use whatever editor works for you. And now let's go find out no wait a sec. That's not the one I wanted is I want the actual text that one. That didn't help me. Open is not the action I want. I want copy. Okay, copy. This was the one we wanted to change let's make a change just to the lovely HTML report. And now back to our place where we were running the this. This should if if it behaves the way we hope. Oh, it says failed to delete directory so I'm going to have to stop and do it again. So what this will do is reuse all of my downloads that I did before reuse the working environment that I had before so anything I'd configured should still be there and here I am back again so let's go look at this. Reload this page, loading, loading. Okay, so publish HTML. Whoops, not PowerShell publish HTML. Click that. Interesting. There it is the path to the lovely HTML. Okay, so at least we've proven we know how to make a change. Fair enough so far. Yes. Yeah. Okay. All right, so now it's still I want to figure out how to add help to that thing. Could we not get a directory name. Maybe. Yeah, that's that's possible. It may also be that there are. There are other things going on here what I was assuming is that someplace in the source code publish HTML has to exist. And that location is probably where it would be looking for the help let's actually maybe let's take a look at another sample to see if we can find somebody else that will give us a hint about that for instance, does that know it doesn't have top level help. Check out does. Okay, so here's checkout. So we could possibly go look at the implementation of checkout and see how they did their top level help. Does that make sense. Yes. So, so let's go grab this. We know that checkout does it so let's go find the implementation of checkout in online in the online help so checkout. We go to Jenkins.io and look for pipeline help pipeline. Checkouts pretty generic so let's well maybe we just say checkout. SCM pipeline SCM checkout step. Okay, so here's the checkout step and here's the plug in. Alright, so now we've got the plug in. Now let's go looking at what some text is that we could find from this so this is a special step that will check out. So let's search for that. Here in SCM checkout step. Here it is. Okay, so this has a help file that is stored in a jelly file, not an HTML file. It's stored at the generic SCM step thing right so see those two pieces there. Whereas for our file, we were looking at what was the one we were looking at we were looking at something a little different if I remember right our directory path was quite different. We were looking at HTML publisher slash help dot HTML. No, no that wasn't it wasn't the one we were looking at was HTML directory to archive is something we still get it. Yeah, where. Okay, so obviously I've got to search for it a little differently just a minute while we search for it this way. Search is not helping me find it. There it is so that found it in this location. No, wait a sec I was am I looking for the wrong thing I'm sorry here we go, we want to look for the help text, and the help text was this, not the title. So back to our search. The thing was HTML publisher target and the help text is in HTML publisher help dash report dirt HTML. So when I do this and generate I bet we'll see that report der is the thing that the help is attached to. So back to this here's report der. And it's associated with that. Now in checkout. Yeah. Hmm. Okay, more exploring you okay if I keep doing exploration, or are you weary of this and we need to pause and let me do some exploration separately. I think we counted exploration because I also found it difficult to find certain like references that we see on the pipelines intact so I think we should just go do it together. Okay, so if you're okay watching me learn and as we learn together that's let's work through it together then alright. Alright, so. I mean, other possibles. I didn't just make a mistake in the name of the file. Okay, so the file I created was source main resources HTML publisher and the, the place where it's whoops. Yeah, so. No, that's not helping me. Back to where I was searching so I was looking for. Let's go all the way back to the help. I want to see the path to the HTML report directory. Oh, right. And the reason it's not matching is because I changed it. Didn't lovely. Great. Okay. So source main resources HTML publisher. Okay, that seems seems like it should be the right place. And yet, we're not getting it there. When we added that file into. Why not. Why not. Okay. I am perplexed. What could it be. Let's go back here. What are the hints we've got so publish HTML publish HTML reports so if I look for that publish HTML step is the thing. And it is a workflow publisher. I am just going to make a boat or go ahead. I'm just saying probably just returns. I'm seeing returns like the string publish HTML. But I can't, like I thought to be in a div in a separate like in the help HTML file. Like, not, not this one. So I'm just, I'm just a little bit confused too. Right, right. And your confusion matches mine. That's why I'm, I'm wondering, okay, so I think this, this thing is the Java implementation of it. And so I think in order for us to add help to that Java implementation, we have to put it into a source main resources location that matches the Java implementation. And I want to try a little experiment here that I'm going to just touch, let's see what we've got a, I want to create a file in source main resources. That thing slash HTML publisher, this thing. Help dot HTML. Now that won't work because that directory doesn't exist. So first thing I'm going to do is make a directory. And this is me I admit just experimenting. Oh no, it already does exist. So very good. Okay. So, so let's try this. Okay, just experimenting. Now I'm going to rebuild. Go ahead. Can we actually exist on fire in that directory. Sure. Let's take a look. So you wanted to see what else is in that directory. Yes, please. Good. Yeah, so there's a config dot jelly. Maybe that is an interesting case. So this is the configuration file that's used for this. This defines the UI, a jelly file defines UI. And so, so does that does that answer your question Sophia. Okay, I don't know. Could it be, can we also make like another file that is maybe help the jelly and probably put in different texts to see. Good idea. Let's try that. I like that idea. So let's try exactly that. So let's copy. Help dot HTML to help that jelly. I think that's what you were suggesting right. Yes, I'm put a completely different text. Right so that we know hey if one of them did it. We know which one did it. Okay so now we should see and we can edit help that jelly. And it will be goodbye. Very good good suggestions so this gives us two things to check hey is help dot jelly used or is help dot HTML used. That was what you were suggesting I think Sophia right. Yes, please. Okay, let's try it. So, Mark was is building I just wanted to understand so in the Java file and what's being returned is the HTML publisher like help right just the heading. Right. Let's be sure I understand your question so I think what you're asking is, is this being retained. Yeah so that was being returned from that Java file. I think this bold word is actually extracted by Jenkins using Java introspection to see what the symbols are there inside the thing, at least I think that's what's happening. Let's try it and see. Let's see if this turned out to make any change publish HTML. Nope, still no. It was being like rendered or displayed by probably like timely fun of those things that is in Java to display HTML, because I'll just, I'm still also wondering where that is from, like so that we could trace that particular file. Right. And that's a very good question so let's, let's do some more exploring and see what we can see, because certainly config dot jelly is being used somewhere right so maybe what we do is we edit config dot jelly. And let's put something in here like. Now what do we want how about welcome to the she code Africa pipeline help project. So let's, let's try that and see what results we get there, because we're just editing a a an existing file we're not adding a new file. Let's see where we find that, if we can find it publish HTML. Okay, I do you see it anywhere. I don't see it anywhere. What about the source code. Can we see it in the HTML source code. That's, oh that's a good idea view page source. So there's the publish HTML there. Let's see what was the change that I added I added welcome. Oh right I did welcome didn't I so let's look for the word welcome. No, not in the HTML services good good thing to check though very good. So let's, let's do one more online. Oops, not that one. There was one which is steps reference this one. Which generates the list of step the help for steps based on the loaded plugins so still loading. And now if we look down here at publish HTML target. I would have expected it to be there and yet. I don't see it there because we definitely added something to the target jelly right. But the word welcome is nowhere on this page. Hmm. Okay so my apologies I'm still not succeeding in my explorations. Okay. It looks like I'm going to have to take the action and do more research. My apologies that I'm stuck on this on this point that doesn't give you enough to make further progress other than studying more about Jenkins pipeline and how to, how to do more with Jenkins pipeline or how to modify existing help files if you find existing help files. My apologies I'll have to do more research. Okay. But before the time actually runs out. I actually have something to show you I tried to build the plugin I cloned. And it wasn't successful. It's the same something about bog bog spots bogs and the rest. Do you mind if I share to you. That would be great go ahead yes please. And have I enabled security so that you can share yes I have good. Okay. I had to configure my laptop to share. I'm sorry. So you may have to drop off and come back again your macOS is telling you need to need to. Okay got it. Yes. Well, and if it would help we can do this without recording it you want me to just pause the record stop the recording. Oh, she's rejoining. Let's go. Okay. Yeah. I also had a few good errors but I was able to like resolve Mr them. I think the only one that was left was some accession error to taking one of the files. So, yeah, that was sort of my progress and I looked into the file for the checkout. I was looking for a copy of the Jenkins user documentation. And I looked at certain things that I could like add to. I was looking more at the, let me see the HTTP request what do you think about that. That would be a very good choice. Yeah, that would be great. Because I saw about six six hits people saying that there's no like examples and so I really wanted to have a look at that. Okay, Sophia. Okay, Sophia is back. She's back. So go ahead Sophia. Oh, I'm sharing. Okay. So this is it actually it's saying something about. So do a Java space minus version on your command line and I suspect it will tell us that you're running Java 18 or Java 17. I switched to Java 11. Okay, so at the moment it's running Java 18. Oh, I switched to Java 11. And I wasn't really expecting to burn in Java 18. So do a which space Java and let's see how it decides which Java you're using. Sorry, what did you say the command is which W H I C H. No, without S. Yeah. No, and without T either. Yes, you have an S. No, no, no, no, no, W H I C H. W H. Okay. There you go space Java. Okay, thank you. Okay, so you've been. Okay, so now somewhere on your system you've got Java 11. Do you know where that is. Yes, not not really. If they're an equivalent to update alternatives in my course mark. I don't know my course. And I don't know either but do a do an LS of slash us or slash local slash bin. Space slash us or slash local slash bin. Yeah, actually just us our local that much. Okay, so that doesn't all right so now let's look in us our local bin so LS slash us or slash local slash bin. Let's see if maybe it has a Java in it that we could use instead, or tell us Sophia how did you switch to using Java 11. And let's do that again. I think that it was really really stressful. I think I've faced a similar experience like before by choosing how to choose which particular JDK to run, but there's a way I'm kind of looking for an internet. So I'm trying to see if I find anything useful. Okay, so, so what I see is slash library slash JDK says slash oh dear where is it. Oh, here we go. Okay. There's a okay so LS of slash. No, no run the command slash us are slash live. Actually, I'm going to just paste this command. I'm going to paste the page into our chat session if that's okay. And then you can just open that page in your browser. Try this page. Is it this slash us slash that's the one yes exactly. Okay, okay. And so now what you want to do is export Java underscore home. There's some magic in the stack overflow page that tells you how to make it use the second one on your list. Maybe in a capital case. Okay. Maybe. No, don't export just for Java. So, do you have do you have access to the chat window from zoom, because I've pasted the link. Okay, so if you bring that up, and then scroll downwards. And you'll see the export Java home equals that thing. Exactly. So, so one of those is what we need I'm not sure if you're using bash or see go back to your go back to your terminal window and let's find out which kind of shell you're using. And now I have to remember how do I determine the shell you're using so. Oh, PS. Do what do the command PS. She could just type in the fashion switch. So it's ZSH. Okay, so, so is it what we want to use the ZSH instructions that's that's good. So go back to the stack overflow page and let's use the ZSH instructions. They are where are they for bash. So I think bash is like ZSH so or ZSH is like bash so let's take the bash instructions and we're going to modify them slightly. Okay. So take just that one line right and paste that into your terminal window but then instead of the one dot eight. So paste the one dot eight in the terminal window with 11. Do I have to put the full type 11.0. I don't know I would try just the 11 but you may have to do 11.0.14. I was just going to try 11 because I assume they'd take a substring. And then close close the parenthesis. Okay. Okay, now do a Java minus version. Victory. Okay, but now that's the change we just made is temporary Sophia. And in order to make it permanent. The instructions in the in that stack overflow page will tell you how to edit your dot ZSH RC file to make it permanent. So what you'll do is you paste that same exact command line that we just did into that file. So if you edit that file or copy that export command that you just that we did it put it into your copy buffer. Yeah, the export. Yeah, exactly. Now edit with whatever your preferred editor is the file in your home directory named dot ZSH RC. Okay, just use this. Yeah, and you can write exactly you can use the, the explorer thing what does Mac what does macOS call it they've got a specific finder is it finder. Yeah, you want you want to go to your home directory in finder. So I think it's in the menu, it's go home something like that. In the top menu at the top of your screen. And that know where you see the apple. Yeah, go to go go. There is a menu called go. Yeah. And home. Oh, very nice didn't know about that. Now in show you the hidden files unfortunately so you have something to set so that you can see them. Okay, so that alright so back to well yeah so what we. So there's a setting on this that would allow you to see hidden files folder actions. Maybe it's on the three dots in the top right hand section of that. Or we could just bring up your editor command shift and period. Oh, wow, very impressive. Wow. Okay, so now in this page. Okay, there's a dot Z profile but not dot Z shrc so I think you want the dot Z profile file. So edit dot Z profile. And let's see what it says. Yeah, okay so one one line after that paste that text that we saved. Okay, now we're going to hope that we didn't do terrible damage. Save that. Okay. And now you can exit out of that editor and start a new terminal window and new. Yeah, start a new one of those. And now do Java minus version. Okay. Okay now now let's go test to see if the real problem is solved all we did now is just Java 11. So let's go to the directory where you're going to do that compile on let's see if the real problem is fixed. Okay. Okay. Just to ask, so the Z H that profile file that's equivalent to set in your environment variables right and system variables. It is exactly off of you. You're absolutely correct. Yep. Okay, so here, Maven minus version. Let's be sure that we know what Maven version you've got first. Good. Okay, now let's try building. So Maven space clean space verify. Thanks for that skip the test. If you want to if you want to go faster absolutely so minus capital D skip tests. I was assuming, hey, don't skip the test but you're that's a good point if you want to go faster skip the test, and the tea and tests is capitalized. Okay, thank you. And you'll need an, I think an s on the end, right, because it assumes you've got more than one so skip tests. All right, let's try it. Glad you were able to share the screen Sophia thank you. I can imagine trying to diagnose this without watching and without talking together. I actually just got this map just few months a month ago, but I've been working with Linux for over like a year now so. Welcome. Welcome to the world of Berkeley utilities this will be a new experience for you that's great Linux is Linux, they're both Unix variants but there are a few differences particularly in Z shell. All right, you are your compile worked. Yeah, thank you very much. All right, excellent. I apologize, I've got to end and we're, we're well past that when should have ended Bruno's Bruno's day. Any other questions before we conclude and when shall we meet together next you want to meet together early next week since I didn't get you really a good start on the things we'd hope or do you want to just meet middle of next week or Thursday like this. What's your preference. Because of this. We can actually meet earlier. So how about if would let's check what time to our original time. I don't know about you. I feel would what would work for you. Is it on the same day. You could certainly meet on the same my question was more about should we meet on the same day or should we change days so that we meet sooner. But then the time of day is also a good question. I'm so sorry. So what are the options so that I just like checking it. Good so let me look at my calendar and see what I can see so options for me would include oops today today today. Okay. So for instance we could meet on Monday at 5pm or at Monday at at 530pm UTC. We could meet on Tuesday at 5 or 6pm UTC. Or if we wanted we could meet very much earlier on on Monday or Tuesday at 1pm UTC either any of those would work for me. Let's see, or let's see and so in terms of comparing to do. Are you comfortable with the making the translation UTC or do I need to get into your time zone. UTC is UTC is my time zone and Sophie is one ahead of me. Okay. All right. So, all right. So if we did would would either would Monday at 1pm UTC work for either of you or Monday at say 530pm UTC work for you. Monday 530. Yeah, it's a holiday so far 30. Oh, but let's not meet on a holiday you should you should have a holiday off if you've got a holiday that that may also is that a holiday in Europe as well Bruno is Monday. No, okay. But I think I think we can we it's just an odd to just go through the pipeline steps so I think it's we could meet like that day, then we go on to like finish the tax. Okay, so what do you think. I actually don't mind I as much as we have lots of holidays I don't really get to enjoy them. I know I know I really really wanted to like just relax because I've been moving. I'm actually moving to a new role. I mean the same robot different place so, but one I mean I really want to know how to figure this out to your money. Okay, so. So let's do Monday at 530 and zoom okay for the two of you then zoom zoom has worked well for me and I like how it screen shares is it okay for you Sophia is okay for me. And office zooms okay for you okay. Yeah, so I will schedules from Monday at 530pm UTC and we'll we'll try to make more progress. Great. Thank you. Thank you Bruno thanks very much. Thank you guys. Bye bye.