1"use strict";(self.webpackChunkpartners=self.webpackChunkpartners||[]).push([[1521],{15680:(e,t,r)=>{r.d(t,{xA:()=>l,yg:()=>m});var o=r(96540);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=o.createContext({}),p=function(e){var t=o.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},l=function(e){var t=p(e.components);return o.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},h=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),u=p(r),h=n,m=u["".concat(c,".").concat(h)]||u[h]||d[h]||i;return r?o.createElement(m,a(a({ref:t},l),{},{components:r})):o.createElement(m,a({ref:t},l))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,a=new Array(i);a[0]=h;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[u]="string"==typeof e?e:n,a[1]=s;for(var p=2;p<i;p++)a[p]=r[p];return o.createElement.apply(null,a)}return o.createElement.apply(null,r)}h.displayName="MDXCreateElement"},89060:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>p});var o=r(58168),n=(r(96540),r(15680));const i={},a="Setting up",s={unversionedId:"docs/workshops/bi-directional/pre_requisites",id:"docs/workshops/bi-directional/pre_requisites",title:"Setting up",description:"Prerequisites",source:"@site/docs/docs/workshops/bi-directional/pre_requisites.md",sourceDirName:"docs/workshops/bi-directional",slug:"/docs/workshops/bi-directional/pre_requisites",permalink:"/docs/workshops/bi-directional/pre_requisites",draft:!1,editUrl:"https://github.com/pactflow/docs.pactflow.io/edit/master/website/docs/docs/workshops/bi-directional/pre_requisites.md",tags:[],version:"current",lastUpdatedBy:"Edmondo Porcu",lastUpdatedAt:1736909469,formattedLastUpdatedAt:"Jan 15, 2025",frontMatter:{},sidebar:"university",previous:{title:"Overview",permalink:"/docs/workshops/bi-directional-contract-testing"},next:{title:"1. Setting the scene",permalink:"/docs/workshops/bi-directional/step1"}},c={},p=[{value:"Prerequisites",id:"prerequisites",level:2}],l={toc:p},u="wrapper";function d(e){let{components:t,...r}=e;return(0,n.yg)(u,(0,o.A)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("h1",{id:"setting-up"},"Setting up"),(0,n.yg)("h2",{id:"prerequisites"},"Prerequisites"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://git-scm.com/book/en/v2/Getting-Started-Installing-Git"},"Git"),". You need to know how to git clone, pull, push and commit."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://www.gnu.org/software/make/manual/make.html"},"Make")," - it should be installed by default on Linux/Mac. If you have Windows, install it from ",(0,n.yg)("a",{parentName:"li",href:"http://gnuwin32.sourceforge.net/packages/make.htm"},"sourceforge"),". Note - you won't need any previous experience in using make for this workshop."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://nodejs.org/"},"Node")," 12 or thereabouts."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"https://www.docker.com/products/docker-desktop"},"Docker"),"."),(0,n.yg)("li",{parentName:"ul"},"A ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/"},"Github")," account."),(0,n.yg)("li",{parentName:"ul"},"A ",(0,n.yg)("a",{parentName:"li",href:"https://pactflow.io"},"PactFlow")," account - ideally, your own personal one. You can sign up for a free developer account ",(0,n.yg)("a",{parentName:"li",href:"https://pactflow.io/pricing/"},"here"),". You can use a shared company PactFlow account, but it will make things a bit fiddly, as you'll need to change the identifiers of the various resources that get created so that they don't clash with those from other workshop participants. We've found from past experience running workshops that it's much simpler if everyone has their own account.")),(0,n.yg)("admonition",{title:"Note on the shell scripts",type:"caution"},(0,n.yg)("p",{parentName:"admonition"},"These instructions have been written for, and tested, in a ",(0,n.yg)("em",{parentName:"p"},"bash")," (not zsh) shell on Mac. They should work correctly on Linux. If you are using Windows, then you will need to know how to run git/make/node CLI commands, or pair with someone who does.")),(0,n.yg)("admonition",{type:"info"},(0,n.yg)("p",{parentName:"admonition"},"If you have access to a second screen, we recommend that you use it for this workshop, as there is a lot of window switching involved.")),(0,n.yg)("admonition",{type:"info"},(0,n.yg)("p",{parentName:"admonition"},"We encourage you to follow the instructions in the workshop and try it yourself,\nbut if you get stuck, you can checkout the code ",(0,n.yg)("a",{parentName:"p",href:"https://github.com/pactflow/example-bi-directional-prov
1ider-dredd"},"here"))))}d.isMDXComponent=!0}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.